1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. sebush, 29.04.2012 #1
    sebush

    sebush Threadstarter Neuer Benutzer

    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
     
  2. swordi, 29.04.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    hmm und wo genau liegt dein problem ?
     
  3. sebush, 29.04.2012 #3
    sebush

    sebush Threadstarter Neuer Benutzer

    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
     
  4. swordi, 29.04.2012 #4
    swordi

    swordi Gewerbliches Mitglied

    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
     
  5. sebush, 29.04.2012 #5
    sebush

    sebush Threadstarter Neuer Benutzer

    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?
     
  6. swordi, 29.04.2012 #6
    swordi

    swordi Gewerbliches Mitglied

    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.
     
Die Seite wird geladen...

Users found this page by searching for:

  1. java android view erstellen

Du betrachtest das Thema "View per java erstellen" im Forum "Android App Entwicklung",