Ich versuche, Ansichten zu LinearLayout dynamisch so viel wie möglich hinzuzufügen (abhängig von der Bildschirmbreite).Berechne Ansicht messen, bevor es angezeigt wird
Ich mache dies, bevor das LinearLayout auf dem Bildschirm angezeigt wird.
Mein Linearlayout:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:background="#666"/>
Meine Ansicht in Linearlayout anzuzeigen:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:background="#999">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/no_photo"/>
</FrameLayout>
ich hinzufügen Blick auf das Layout:
int allItems = 50;
int currentItem = 0;
while(currentItem < allItems)
{
FrameLayout view = (FrameLayout) inflater.inflate(R.layout.fl, null);
linearLayout.addView(view);
if (linearLayout.getMeasuredWidth() >= this.getWidth())
{
linearLayout.removeView(view);
break;
}
}
aber linearLayout.getMeasuredWidth(), und dies. getWidth() ist 0;
Ich weiß, dass ich die View.measure-Methode verwenden muss, um die Ansichtsgröße zu berechnen, bevor sie sichtbar wurde, aber ich weiß nicht, wo und wie sie verwendet wird.
Mögliche Betrogene: http://stackoverflow.com/questions/4142090/how-do-you-to-retrieve- dimensions-of-a view-getheight-and-getwidth-immer-r/4406090 # 4406090 –
überprüfen Sie diese http://StackOverflow.com/Questions/9498762/dynamic-adding-views-to-horizontal-Linearlayout-Goes- out-of-the-screen – Nishant
"android: background =" # 666 "" - Ich sehe, Sie verwenden die magische Zahl genau wie ich –