View per java erstellen

S

sebush

Neues Mitglied
0
hi leutz,

ich möchte per java folgenden ImageView erstellen und in ein RelativeLayout per addView darstellen
Code:
<ImageView
	android:id="@+id/imageView1"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:layout_alignParentLeft="true"
	android:layout_alignParentTop="true"
	android:layout_marginLeft="100dp"
	android:layout_marginTop="100dp"
	android:src="@drawable/ic_launcher" />
natürlich jeweils mit anderer id und anderen margins
 
hmm und wo genau liegt dein problem ?
 
ja ich bin noch recht neu im android-coden und bekomms nich hin xD

mein versuch geht derzeit so los:
Code:
ImageView img = new ImageView(this);
img.setImageResource(R.drawable.ic_launcher);
LayoutParams params = new LayoutParams(null, null);
content.addView(img, params);
verstehe einfach noch nicht wie ich die parameter setzen kann
 
hmm warum machst du bei

layoutparams zwei mal null? da solltest layout_height und layout_width reinschreiben

margins undlayout_align kannst bie den params setzen.

id setzt mit
img.setId();

bitte darauf achten, dass du RelativeLayout.LayoutParams nutzt
 
setId() verlangt aber int und ich kann so also nicht das oben dargestellte ImageView erzeugen ...

wie schauts aus mit setTag?
Code:
img.setTag("android:id=\"@+id/imageView1\"");
geht das irgendwie? damit könnte ich alle parameter sehr leicht erstellen
ist natürlich auch kein tag sondern eig ein parameter/attribut aber sowas wäre nice

das LayoutParams params = new LayoutParams(null, null); hab ich von eclipse so erstellen lassen, damit es keine fehler wirft, ist natürlich klar dass das so nicht reicht ;)

könntest du mir nicht schnell den code dafür zeigen/schreiben?
 
hallo

setId() verlangt ein int - logisch, da du auch in der xml nur einen wert für ein int hinschreibst
@+id/myID erzeugt ein R.id.myID - das ist ein int wert
=> grundlagen zum R file

deine überlegung mit setTag ist nicht gut -> kannst wieder verwerfen ( zumindest machst dir gedanken drüber, wie etwas gehen kann. das ist schonmal gut )


ImageView v = new ImageView(context);
v.setImageResource(R.drawable.my_image);
v.setId(1); // hier halt mitzählen
RelativeLayout.LayoutParams lp = new LayoutParams(WRAP_CONTENT, WRAP_CONTENT);

lp.setMargins(x,x,x,x);

lp.addRule() // positionierungen angeben.

mainView.add(v, lp);


kannst deine erzeugten Views auch schön in einer Map oder ArrayList mitspeichern. je nachdem was du dann damit machen musst, willst.
 

Ähnliche Themen

D
Antworten
23
Aufrufe
2.515
Data2006
D
5
Antworten
0
Aufrufe
1.142
586920
5
R
Antworten
6
Aufrufe
997
swa00
swa00
Zurück
Oben Unten