2016-11-13 1 views
0

XML-CodeWie XML-Code für die Breite und heigh in Java

<ImageView 
      android:layout_width="match_parent" 
      android:layout_height="200dp" 
      android:id="@+id/imageView" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:background="@drawable/pz" 
      android:layout_marginTop="5dp" /> 

Ich schrieb es so in Java

ImageView imageView = new ImageView(MainActivity.this); 
    imageView.setImageResource(R.drawable.pz); 

    DisplayMetrics displaymetrics = new DisplayMetrics(); 
    MainActivity.this.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
    int width = displaymetrics.widthPixels; 
    int height = 300; 
    imageView.setLayoutParams(new ViewGroup.LayoutParams(width, height)); 

    imageView.setId(i + 1); 
    li.addView(imageView); 

Aber es sieht seltsam schreiben, ich will die Höhe zB ändern. 200, anstatt die Höhe zu ändern, ändern Sie die Breite. Gibt es einen besseren Weg, um es nur Breite auf MATCH_PARENT und Höhe auf 200dp zu machen?

+0

Mögliches Duplikat von [Höhe auf LayoutParams als dichteunabhängige Pixel program matisch festlegen] (http://StackOverflow.com/questions/5959870/ProgrammaticallySet-Height-On-LayoutParams-as-Density-IndependentPixels) – dthulke

Antwort

0

wenn Sie wollen wrap_content jedes Layout-Parameter setzen oder match_parent Sie ViewGroup.LayoutParams.MATCH_PARENT oder ViewGroup.LayoutParams.MATCH_PARENT Konstanten setzen sollten für Konstruktorparameter

und der Konstruktor bekommt Parameter in Pixel, so dass Sie es ändern müssen, um dp Sie dieses link verwenden können

Verwandte Themen