Показать вид изображения из пути к файлу?
Мне нужно показать изображение, используя только имя файла, а не идентификатор ресурса.
ImageView imgView = new ImageView(this);
imgView.setBackgroundResource(R.drawable.img1);
У меня есть изображение img1 в папке drawable. Я хочу показать это изображение из файла.
Как я могу это сделать?
12 ответов:
Labeeb прав о том, почему вам нужно установить изображение с помощью пути, если ваши ресурсы уже лежат внутри папки ресурсов,
такой путь необходим только тогда, когда ваши изображения хранятся на SD-карте .
и попробуйте следующий код, чтобы установить растровые изображения из файла, хранящегося внутри SD-карты .
File imgFile = new File("/sdcard/Images/test_image.jpg"); if(imgFile.exists()){ Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); ImageView myImage = (ImageView) findViewById(R.id.imageviewTest); myImage.setImageBitmap(myBitmap); }
и включить это разрешение в файл манифеста:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Я думаю, что вы можете использовать
Bitmap bmImg = BitmapFactory.decodeFile("path of your img1"); imageView.setImageBitmap(bmImg);
вы также можете использовать:
File imgFile = new File(“filepath”); if(imgFile.exists()) { ImageView myImage = new ImageView(this); myImage.setImageURI(Uri.fromFile(imgFile)); }
это делает растровое декодирование неявным для вас.
String path = Environment.getExternalStorageDirectory()+ "/Images/test.jpg"; File imgFile = new File(path); if(imgFile.exists()) { Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); ImageView imageView=(ImageView)findViewById(R.id.imageView); imageView.setImageBitmap(myBitmap); }
все ответы устарели. Лучше всего использовать Пикассо для таких целей. Он имеет много функций, включая фоновую обработку изображений.
я упоминал, что это очень легко использовать:
Picasso.with(context).load(new File(...)).into(imageView);
С официального сайта:http://developer.android.com/training/displaying-bitmaps/load-bitmap.html
ImageView image = (ImageView) findViewById(R.id.imagePreview); try { image.setImageBitmap(decodeSampledBitmap(picFilename)); } catch (Exception e) { e.printStackTrace(); }
вот методы:
private int calculateInSampleSize( BitmapFactory.Options options, int reqWidth, int reqHeight) { // Raw height and width of image final int height = options.outHeight; final int width = options.outWidth; int inSampleSize = 1; if (height > reqHeight || width > reqWidth) { final int halfHeight = height / 2; final int halfWidth = width / 2; // Calculate the largest inSampleSize value that is a power of 2 and keeps both // height and width larger than the requested height and width. while ((halfHeight / inSampleSize) > reqHeight && (halfWidth / inSampleSize) > reqWidth) { inSampleSize *= 2; } } return inSampleSize; } private Bitmap decodeSampledBitmap(String pathName, int reqWidth, int reqHeight) { // First decode with inJustDecodeBounds=true to check dimensions final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(pathName, options); // Calculate inSampleSize options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight); // Decode bitmap with inSampleSize set options.inJustDecodeBounds = false; return BitmapFactory.decodeFile(pathName, options); } //I added this to have a good approximation of the screen size: private Bitmap decodeSampledBitmap(String pathName) { Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); int width = size.x; int height = size.y; return decodeSampledBitmap(pathName, width, height); }
вы можете использовать:
ImageView imgView = new ImageView(this); InputStream is = getClass().getResourceAsStream("/drawable/" + fileName); imgView.setImageDrawable(Drawable.createFromStream(is, ""));
вы можете использовать это для доступа к определенной папке и получить конкретное изображение
public void Retrieve(String path, String Name) { File imageFile = new File(path+Name); if(imageFile.exists()){ Bitmap myBitmap = BitmapFactory.decodeFile(path+Name); myImage = (ImageView) findViewById(R.id.savedImage); myImage.setImageBitmap(myBitmap); Toast.makeText(SaveImage.this, myBitmap.toString(), Toast.LENGTH_LONG).show(); } }
и тогда вы можете назвать его
Retrieve(Environment.getExternalStorageDirectory().toString()+"/Aqeel/Images/","Image2.PNG"); Toast.makeText(SaveImage.this, "Saved", Toast.LENGTH_LONG).show();
public static Bitmap decodeFile(String path) { Bitmap b = null; File f = new File(path); // Decode image size BitmapFactory.Options o = new BitmapFactory.Options(); o.inJustDecodeBounds = true; FileInputStream fis = null; try { fis = new FileInputStream(f); BitmapFactory.decodeStream(fis, null, o); fis.close(); int IMAGE_MAX_SIZE = 1024; // maximum dimension limit int scale = 1; if (o.outHeight > IMAGE_MAX_SIZE || o.outWidth > IMAGE_MAX_SIZE) { scale = (int) Math.pow(2, (int) Math.round(Math.log(IMAGE_MAX_SIZE / (double) Math.max(o.outHeight, o.outWidth)) / Math.log(0.5))); } // Decode with inSampleSize BitmapFactory.Options o2 = new BitmapFactory.Options(); o2.inSampleSize = scale; fis = new FileInputStream(f); b = BitmapFactory.decodeStream(fis, null, o2); fis.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return b; } public static Bitmap showBitmapFromFile(String file_path) { try { File imgFile = new File(file_path); if(imgFile.exists()){ Bitmap pic_Bitmap = decodeFile(file_path); return pic_Bitmap; } } catch (Exception e) { MyLog.e("Exception showBitmapFromFile"); return null; } return null; }
Если вы используете загрузку изображений в виде списка, то используйте концепцию Aquery .
https://github.com/AshishPsaini/AqueryExample
AQuery aq= new AQuery((Activity) activity, convertView); //load image from file, down sample to target width of 250 pixels .gi File file=new File("//pic/path/here/aaaa.jpg"); if(aq!=null) aq.id(holder.pic_imageview).image(file, 250);
onLoadImage полной нагрузке
private void onLoadImage(final String imagePath) { ImageSize targetSize = new ImageSize(imageView.getWidth(), imageView.getHeight()); // result Bitmap will be fit to this size //ImageLoader imageLoader = ImageLoader.getInstance(); // Get singleto com.nostra13.universalimageloader.core.ImageLoader imageLoader = com.nostra13.universalimageloader.core.ImageLoader.getInstance(); imageLoader.init(ImageLoaderConfiguration.createDefault(getContext())); imageLoader.loadImage(imagePath, targetSize, new SimpleImageLoadingListener() { @Override public void onLoadingStarted(final String imageUri, View view) { super.onLoadingStarted(imageUri, view); progress2.setVisibility(View.VISIBLE); new Handler().post(new Runnable() { public void run() { progress2.setColorSchemeResources(android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light); // Picasso.with(getContext()).load(imagePath).into(imageView); // Picasso.with(getContext()).load(imagePath) .memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE).into(imageView); Glide.with(getContext()) .load(imagePath) .asBitmap() .into(imageView); } }); } @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { if(view == null){ progress2.setVisibility(View.INVISIBLE); }
/ / else {
Log.e("onLoadImage","onLoadingComplete"); // progress2.setVisibility(View.INVISIBLE); // } // setLoagingCompileImage(); } @Override public void onLoadingFailed(String imageUri, View view, FailReason failReason) { super.onLoadingFailed(imageUri, view, failReason); if(view == null){ progress2.setVisibility(View.INVISIBLE); } Log.e("onLoadingFailed",imageUri); Log.e("onLoadingFailed",failReason.toString()); } @Override public void onLoadingCancelled(String imageUri, View view) { super.onLoadingCancelled(imageUri, view); if(view == null){ progress2.setVisibility(View.INVISIBLE); } Log.e("onLoadImage","onLoadingCancelled"); } }); }
как показать изображения из пути к папке в Android
во-первых: убедитесь, что у вас есть добавить разрешения в файл Mainfest:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
##: сделать класс MyGallery
public class MyGallery расширяет активность {
private GridView gridView; private String _location; private String newFolder = "/IslamicGif/"; private String extStorageDirectory = Environment.getExternalStorageDirectory().toString(); private AdView mAdView; private ArrayList<Bitmap> photo = new ArrayList<Bitmap>(); public static String[] imageFileList; TextView gallerytxt; public static ImageAdapter imageAdapter; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.mygallery); /*if (MenuClass.mInterstitialAd.isLoaded()) { MenuClass.mInterstitialAd.show(); }*/ gallerytxt = (TextView) findViewById(R.id.gallerytxt); /*gallerytxt.setTextSize(20); int[] color = {Color.YELLOW,Color.WHITE}; float[] position = {0, 1}; Shader.TileMode tile_mode0= Shader.TileMode.REPEAT; // or TileMode.REPEAT; LinearGradient lin_grad0 = new LinearGradient(0, 0, 0, 200,color,position, tile_mode0); Shader shader_gradient0 = lin_grad0; gallerytxt.getPaint().setShader(shader_gradient0);*/ ImageButton btn_back = (ImageButton) findViewById(R.id.btn_back); btn_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { MyGallery.this.finish(); } }); mAdView = (AdView) findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder() .build(); mAdView.loadAd(adRequest); gridView = (GridView) findViewById(R.id.gridView); new MyGalleryAsy().execute(); gridView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) { // TODO Auto-generated method stub Intent intent = new Intent(MyGallery.this, ImageDetail.class); intent.putExtra("ImgUrl", imageFileList[pos]); //Toast.makeText(MyGallery.this,"image detail"+pos,Toast.LENGTH_LONG).show(); startActivity(intent); } }); } protected void onStart() { super.onStart(); if (ImageDetail.deleted) { photo = new ArrayList<Bitmap>(); new MyGalleryAsy().execute(); ImageDetail.deleted = false; } } public class MyGalleryAsy extends AsyncTask<Void, Void, Void> { private ProgressDialog dialog; Bitmap mBitmap; @Override protected void onPreExecute() { dialog = ProgressDialog.show(MyGallery.this, "", "Loading ...", true); dialog.show(); } @Override protected Void doInBackground(Void... arg0) { readImage(); return null; } @Override protected void onPostExecute(Void result) { dialog.dismiss(); DisplayMetrics displayMatrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMatrics); int screenWidth = displayMatrics.widthPixels / 3; if (photo.size() > 0) { imageAdapter = new ImageAdapter(MyGallery.this, screenWidth); gridView.setAdapter(imageAdapter); } } } private void readImage() { // TODO Auto-generated method stub try { if (isSdPresent()) { _location = extStorageDirectory + newFolder; } else _location = getFilesDir() + newFolder; File file1 = new File(_location); if (file1.isDirectory()) { // sdCard == true imageFileList = file1.list(); if (imageFileList != null) { for (int i = 0; i < imageFileList.length; i++) { try { photo.add(BitmapFactory.decodeFile(_location + imageFileList[i].trim())); } catch (Exception e) { // TODO: handle exception //Toast.makeText(getApplicationContext(), e.toString(),Toast.LENGTH_LONG).show(); } } } } } catch (Exception e) { // TODO: handle exception } } public static boolean isSdPresent() { return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); } public class ImageAdapter extends BaseAdapter { private Context context; private LayoutInflater layoutInflater; private int width; private int mGalleryItemBackground; public ImageAdapter(Context c) { context = c; } public ImageAdapter(Context c, int width) { context = c; this.width = width; } public int getCount() { return photo.size(); } public Object getItem(int position) { return null; } public long getItemId(int position) { return 0; } public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = layoutInflater.inflate(R.layout.galleryadapter, null); RelativeLayout layout = (RelativeLayout) v.findViewById(R.id.galleryLayout); ImageView imageView = new ImageView(context); layout.addView(imageView, new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, width)); imageView.setScaleType(ImageView.ScaleType.FIT_XY); layout.setLayoutParams(new GridView.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, width)); imageView.setImageBitmap(photo.get(position)); return v; } public void updateItemList(ArrayList<Bitmap> newItemList) { photo = newItemList; notifyDataSetChanged(); } }
}
Теперь создайте свой класс Xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg" android:orientation="vertical"> <RelativeLayout android:id="@+id/relativeLayout" android:layout_width="match_parent" android:layout_height="56dp" android:background="@color/colorPrimary" android:minHeight="?attr/actionBarSize"> <TextView android:id="@+id/gallerytxt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:layout_gravity="center" android:fontFamily="@string/font_fontFamily_medium" android:text="My Gallery" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="@android:color/black" android:textStyle="bold" /> <ImageButton android:id="@+id/btn_back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_centerVertical="true" android:layout_marginLeft="12dp" android:background="@drawable/ic_arrow_back_black_24dp" /> </RelativeLayout> <com.google.android.gms.ads.AdView android:id="@+id/adView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_gravity="center|bottom" android:visibility="gone" ads:adSize="BANNER" ads:adUnitId="@string/banner_id" /> <GridView android:id="@+id/gridView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/adView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_below="@+id/relativeLayout" android:horizontalSpacing="5dp" android:numColumns="2" android:smoothScrollbar="true" android:verticalSpacing="5dp"></GridView>
также сделать адаптер galleryadapter.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:ads="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:id="@+id/galleryLayout" android:padding="2dp">
посмотреть изображение в деталях создает новый класс ImageDetail:
public class ImageDetail extends Activity implements OnClickListener { public static InterstitialAd mInterstitialAd; private ImageView mainImageView; private LinearLayout menuTop; private TableLayout menuBottom; private Boolean onOff = true; private ImageView delButton, mailButton, shareButton; private String imgUrl = null; private AdView mAdView; TextView titletxt; private String newFolder = "/IslamicGif/"; private String extStorageDirectory = Environment.getExternalStorageDirectory().toString(); public static boolean deleted = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.image_detail); mAdView = (AdView) findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder() .build(); mAdView.loadAd(adRequest); mAdView.setAdListener(new AdListener() { @Override public void onAdLoaded() { mAdView.setVisibility(View.VISIBLE); } }); mainImageView = (ImageView) findViewById(R.id.mainImageView); menuTop = (LinearLayout) findViewById(R.id.menuTop); menuBottom = (TableLayout) findViewById(R.id.menuBottom); titletxt = (TextView) findViewById(R.id.titletxt); titletxt.setTextSize(22); mInterstitialAd = new InterstitialAd(this); mInterstitialAd.setAdUnitId(getString(R.string.interstial_id)); mInterstitialAd.setAdListener(new AdListener() { @Override public void onAdClosed() { requestNewInterstitial(); } }); requestNewInterstitial(); delButton = (ImageView) findViewById(R.id.delButton); mailButton = (ImageView) findViewById(R.id.mailButton); shareButton = (ImageView) findViewById(R.id.shareButton); Bundle exBundle = getIntent().getExtras(); if (exBundle != null) { imgUrl = exBundle.getString("ImgUrl"); } if (isSdPresent()) { imgUrl = extStorageDirectory + newFolder + imgUrl; } else imgUrl = getFilesDir() + newFolder + imgUrl; if (imgUrl != null) { GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(mainImageView); Glide.with(this).load(imgUrl).into(imageViewTarget); } delButton.setOnClickListener(this); mailButton.setOnClickListener(this); shareButton.setOnClickListener(this); } public static boolean isSdPresent() { return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); } @Override public void onClick(View arg0) { // TODO Auto-generated method stub switch (arg0.getId()) { case R.id.shareButton: Image_Link(); break; case R.id.delButton: deleted(); break; case R.id.mailButton: sendemail(); break; default: break; } } private void sendemail() { try { File photo = new File(imgUrl); Uri imageuri = Uri.fromFile(photo); String url = Constant.AppUrl; SpannableStringBuilder builder = new SpannableStringBuilder(); builder.append("Face Placer App Available here..Play Link"); int start = builder.length(); builder.append(url); int end = builder.length(); builder.setSpan(new URLSpan(url), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); Intent emailIntent2 = new Intent(Intent.ACTION_SEND); String[] recipients2 = new String[]{"mymail@email.com", "",}; emailIntent2.putExtra(Intent.EXTRA_EMAIL, recipients2); emailIntent2.putExtra(Intent.EXTRA_SUBJECT, "Sample mail"); emailIntent2.putExtra(Intent.EXTRA_STREAM, imageuri); emailIntent2.putExtra(Intent.EXTRA_TEXT, builder); emailIntent2.setType("text/html"); emailIntent2.setType("image/JPEG"); startActivity(Intent.createChooser(emailIntent2, "Send mail client :")); } catch (Exception e) { // TODO: handle exception Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show(); } } private void Image_Link() { try { File photo = new File(imgUrl); Uri imageuri = Uri.fromFile(photo); String url = Constant.AppUrl; SpannableStringBuilder builder = new SpannableStringBuilder(); builder.append("Face Placer App Available here..Play Link"); int start = builder.length(); builder.append(url); int end = builder.length(); builder.setSpan(new URLSpan(url), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); Intent emailIntent2 = new Intent(Intent.ACTION_SEND); String[] recipients2 = new String[]{"mymail@email.com", "",}; emailIntent2.putExtra(Intent.EXTRA_EMAIL, recipients2); emailIntent2.putExtra(Intent.EXTRA_SUBJECT, "Sample mail"); emailIntent2.putExtra(Intent.EXTRA_STREAM, imageuri); emailIntent2.putExtra(Intent.EXTRA_TEXT, builder); emailIntent2.setType("text/html"); emailIntent2.putExtra(Intent.EXTRA_TEXT, "Face Placer App Available here..Play Link " + url); emailIntent2.setType("image/JPEG"); startActivity(Intent.createChooser(emailIntent2, "Send mail client :")); } catch (Exception e) { // TODO: handle exception Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show(); } } private void deleted() { if (mInterstitialAd.isLoaded()) { mInterstitialAd.show(); } AlertDialog.Builder builder = new AlertDialog.Builder(ImageDetail.this); builder.setTitle(getString(R.string.removeoption)); builder.setMessage(getString(R.string.deleteimage)); builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // User clicked OK button dialog.cancel(); File fileDel = new File(imgUrl); boolean isCheck1 = fileDel.delete(); if (isCheck1) { deleted = true; finish(); MyGallery.imageAdapter.notifyDataSetChanged(); } else { Toast.makeText(getApplicationContext(), "error", Toast.LENGTH_LONG).show(); } } }); builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // User clicked OK button dialog.cancel(); } }); Dialog dialog = builder.create(); dialog.show(); } private boolean isNetworkConnected() { ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo ni = cm.getActiveNetworkInfo(); if (ni == null) { // There are no active networks. return false; } else return true; } private void requestNewInterstitial() { AdRequest adRequest = new AdRequest.Builder() .addTestDevice("SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID") .build(); mInterstitialAd.loadAd(adRequest); }
}
создайте свой xml image_detail.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/res-auto" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/bg" android:orientation="vertical"> <ImageView android:id="@+id/mainImageView" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true" android:contentDescription="@string/app_name" android:focusable="true" android:focusableInTouchMode="true" /> <LinearLayout android:id="@+id/adlayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:orientation="horizontal" android:visibility="gone"></LinearLayout> <LinearLayout android:id="@+id/menuTop" android:layout_width="fill_parent" android:layout_height="56dp" android:layout_alignWithParentIfMissing="true" android:layout_below="@+id/adlayout" android:background="@color/colorPrimary" android:orientation="vertical" android:padding="10.0dip" android:visibility="visible"> <TextView android:id="@+id/titletxt" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="Islamic Gifs" android:textColor="#000000" android:textSize="22sp" android:textStyle="bold" /> </LinearLayout> <TableLayout android:id="@+id/menuBottom" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="@color/colorPrimary" android:padding="10.0dip" android:stretchColumns="*" android:visibility="visible"> <TableRow> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal"> <ImageView android:id="@+id/mailButton" android:layout_width="52dp" android:layout_height="52dp" android:background="@drawable/selector_shareimage" android:contentDescription="@string/app_name" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal"> <ImageView android:id="@+id/shareButton" android:layout_width="52dp" android:layout_height="52dp" android:background="@drawable/selector_shareimage_small" android:contentDescription="@string/app_name" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal"> <ImageView android:id="@+id/delButton" android:layout_width="52dp" android:layout_height="52dp" android:background="@drawable/selector_delete" android:contentDescription="@string/app_name" /> </LinearLayout> </TableRow> </TableLayout> <com.google.android.gms.ads.AdView android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/menuTop" android:layout_centerHorizontal="true" android:visibility="gone" ads:adSize="BANNER" ads:adUnitId="@string/banner_id"></com.google.android.gms.ads.AdView>
добавьте свой собственный Drawable в класс селектора и создайте его res>drawable>selector_shareimage.xml
<?xml version="1.0" encoding="utf-8"?>
<item android:drawable="@drawable/result_bt_mail" android:state_enabled="true" android:state_pressed="true"/> <item android:drawable="@drawable/result_bt_mail" android:state_enabled="true" android:state_focused="true"/> <item android:drawable="@drawable/result_bt_mail" android:state_enabled="true" android:state_selected="true"/> <item android:drawable="@drawable/result_bt_mail_s"/>