Hinzufügen Galerie, Bilder dynamisch in android
Habe ich getan, Galerie von Bildern angezeigt, die auf dem emulator durch statische(ich.e Bilder von drawable
Ordner).Jetzt muss ich hinzufügen, dass einige Bilder in die Liste der gallery dynamisch aus den lokalen Pfad(für ex.aus E:/anim.jpeg ähnlich).Wie kann ich das tun?Danke..
Meine Galerie-code ist unten abgebildet..
public class GalleryAct extends Activity {
private Gallery gallery;
private ImageView imgView;
private Integer[] Imgid = {
R.drawable.img1, R.drawable.img2, R.drawable.img3, R.drawable.img4, R.drawable.img5, R.drawable.img6, R.drawable.img7,
R.drawable.img1, R.drawable.img2, R.drawable.img3, R.drawable.img4, R.drawable.img5, R.drawable.img6, R.drawable.img7
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imgView = (ImageView)findViewById(R.id.ImageView01);
imgView.setImageResource(Imgid[0]);
gallery = (Gallery) findViewById(R.id.examplegallery);
gallery.setAdapter(new AddImgAdp(this));
gallery.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
imgView.setImageResource(Imgid[position]);
}
});
}
public class AddImgAdp extends BaseAdapter {
int GalItemBg;
private Context cont;
public AddImgAdp(Context c) {
cont = c;
TypedArray typArray = obtainStyledAttributes(R.styleable.GalleryTheme);
GalItemBg = typArray.getResourceId(R.styleable.GalleryTheme_android_galleryItemBackground, 0);
typArray.recycle();
}
public int getCount() {
return Imgid.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imgView = new ImageView(cont);
imgView.setImageResource(Imgid[position]);
imgView.setLayoutParams(new Gallery.LayoutParams(80, 70));
imgView.setScaleType(ImageView.ScaleType.FIT_XY);
imgView.setBackgroundResource(GalItemBg);
return imgView;
}
}
}
InformationsquelleAutor sanjay | 2011-01-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schreiben Sie den Pfad, in dem das Bild gespeichert wird.
Umgebung.getExternalStorageDirectory() gibt den Pfad des sdcard.
Wenn Ihr Bild ist zu groß als bitmap geben wird, der Fehler also für die, die Sie haben, schreiben Sie folgenden code, um die Größe Bild. Übergeben Sie die Datei in der unter-Funktion
Hi..ich habe mit obige Antwort.Danke.Aber es nimmt Bilder auf, die intern aus einem Pfad und gezeigt, die Bilder auf die Zuschauer.Aber.. ich habe zum erstellen einer Schaltfläche durchsuchen.wenn der Benutzer auf diese Schaltfläche klickt auf emulator.ein neues popup-Fenster sollte sich öffnen.es zeigt eine Liste der Bilder in drawble Ordner der gleichen Anwendung.dann habe ich zu wählen ein Bild aus.es sollte b Hinzugefügt in Galerie-Liste angezeigt.(ich.e wie Datei-Anhängen in mails).Ist es möglich?Vielen Dank im adv.
InformationsquelleAutor krunal shah
In Ihrem Fall können Sie versuchen Ihr Bild-array eine dynamische Liste, z.B. ArrayList. Nach der Ankunft des neues Element zur Liste hinzufügen, und rufen Sie notifyDataSetChanged() (Methode des Adapters), und Ihre Galerie wird die Liste aktualisiert.
Hängt von Ihrem Fall, fand ich, dass es besser ist die Verwendung von AsyncTask hier um die Liste zu aktualisieren, und rufen Sie notifyDataSetChanged.
Die adapter-Klasse sieht ähnlich wie diese
Lassen Sie mich wissen, wenn irgendwelche Fehler, ich bin Weg, je nach IDE.
InformationsquelleAutor Orange