Intereting Posts

Показать изображение из пути к файлу?

Мне нужно показать изображение, используя имя файла, но не из идентификатора ресурса.

ImageView imgView=new ImageView(this); imgView.setBackgroundResource(R.drawable.img1); 

У меня есть изображение img1 в папке с возможностью переноса. Я хочу показать это изображение из файла, как это сделать.

Solutions Collecting From Web of "Показать изображение из пути к файлу?"

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); 

Вы можете использовать:

 ImageView imgView = new ImageView(this); InputStream is = getClass().getResourceAsStream("/drawable/" + fileName); imgView.setImageDrawable(Drawable.createFromStream(is, "")); 

С официального сайта: 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); } 

Вы можете использовать это для доступа к определенной папке и получить конкретное изображение

  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; } 

Если вы используете загрузку изображений в представлении «Список», используйте концепцию «Концепция».

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

Открытый класс MyGallery extends Activity {

 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 to Selector и создайте его 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"/> 

Введите описание изображения здесь

 mageView.setImageResource(R.id.img);