1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

View per java erstellen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von sebush, 29.04.2012.

  1. sebush, 29.04.2012 #1
    sebush

    sebush Threadstarter Neuer Benutzer

    Beiträge:
    18
    Erhaltene Danke:
    0
    Registriert seit:
    04.03.2012
    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

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    hmm und wo genau liegt dein problem ?
     
  3. sebush, 29.04.2012 #3
    sebush

    sebush Threadstarter Neuer Benutzer

    Beiträge:
    18
    Erhaltene Danke:
    0
    Registriert seit:
    04.03.2012
    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

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    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

    Beiträge:
    18
    Erhaltene Danke:
    0
    Registriert seit:
    04.03.2012
    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

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    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.
     

Diese Seite empfehlen