Afficher la vue de l'Image à partir du chemin du fichier?

J'ai besoin de montrer une image en utilisant uniquement le nom du fichier, Pas de l'id de ressource.

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

J'ai l'image img1 dans le dossier drawable. Je souhaite montrer cette image du fichier.

Comment puis-je faire cela?

251
demandé sur Cody 2010-11-15 08:53:29

12 réponses

Labeeb a raison sur la raison pour laquelle vous devez définir l'image en utilisant path si vos ressources sont déjà placées dans le dossier de ressources,

Ce type de chemin est nécessaire uniquement lorsque vos images sont stockées dans une carte SD .

Et essayez le code ci - dessous pour définir des images Bitmap à partir d'un fichier stocké dans une carte 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);

}

Et inclure cette autorisation dans le fichier manifeste:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
557
répondu Paresh Mayani 2015-11-16 13:43:57

Je pense que vous pouvez utiliser ceci

Bitmap bmImg = BitmapFactory.decodeFile("path of your img1");
imageView.setImageBitmap(bmImg);
46
répondu Labeeb Panampullan 2010-11-15 06:01:12

Vous pouvez également utiliser:



    File imgFile = new  File(“filepath”);
    if(imgFile.exists())
    {
        ImageView myImage = new ImageView(this);
        myImage.setImageURI(Uri.fromFile(imgFile));

    }

Cela fait le décodage bitmap implicite pour vous.

28
répondu BernhardR 2011-11-09 13:48:55
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);
}
23
répondu 2012-03-29 07:03:53

, Toutes les réponses sont obsolètes. Il est préférable d'utiliser picasso à ces fins. Il a beaucoup de fonctionnalités, y compris le traitement d'image de fond.

Ai-je mentionné qu'il est super facile à utiliser:

Picasso.with(context).load(new File(...)).into(imageView);
17
répondu vedant 2015-10-10 08:59:59

Sur le site officiel: 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();
}

Voici les méthodes:

    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);
    }   
7
répondu Accollativo 2016-03-06 18:30:55

Vous pouvez utiliser:

ImageView imgView = new ImageView(this);
InputStream is = getClass().getResourceAsStream("/drawable/" + fileName);
imgView.setImageDrawable(Drawable.createFromStream(is, ""));
5
répondu rosa 2012-05-27 11:24:55

Vous pouvez l'utiliser pour accéder à un dossier spécifique et obtenir une image particulière

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

    }
}

Et puis vous pouvez l'appeler par

Retrieve(Environment.getExternalStorageDirectory().toString()+"/Aqeel/Images/","Image2.PNG");
Toast.makeText(SaveImage.this, "Saved", Toast.LENGTH_LONG).show();
3
répondu Amt87 2012-04-03 11:40:20
       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;
}   

Si vous utilisez le chargement d'images en mode Liste, utilisez Aquery concept .

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);
2
répondu Ashish Saini 2014-09-04 12:09:52

OnLoadImage pleine charge

  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");
        }
    });
}
2
répondu Pong Petrung 2017-04-26 08:09:49

Comment afficher les Images du chemin du dossier dans Android

Tout D'abord: assurez-vous D'avoir des autorisations D'ajout dans le fichier Mainfest:

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

##: créer une classe MyGallery

La classe publique MyGallery étend L'activité {

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

}

Créez maintenant sa classe 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>

Également faire adaptateur 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">

entrez la description de l'image ici

Pour voir L'Image en détail, créez une nouvelle classe 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);
}

}

Crée son image_detail xml.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>

Ajoutez votre propre Drawable à la classe Selector, et créez-la 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"/>

entrez la description de l'image ici

2
répondu Najaf Ali 2017-06-19 14:26:58
mageView.setImageResource(R.id.img);
-4
répondu ncn corp 2012-10-23 13:40:29