Tworzę dynamicznie widoki zawierające LinearLayout
i dodajemy je do zewnętrznego LinearLayout
. Chciałbym ustawić margines wokół utworzonych widoków, ale layout_margin
w pliku XML jest ignorowane. Działa, jeśli ustawię parametry w kodzie, ale chciałbym określić margines w układzie XML.Margines zignorowany przez LinearLayout
Ustawianie marginesu w układzie XML będą ignorowane:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
android:orientation="vertical" >
...
</LinearLayout>
Ustawianie marginesu podczas tworzenia się zaszczycony:
LinearLayout productView = (LinearLayout) getLayoutInflater().inflate(R.layout.product_preview, null);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
params.setMargins(50, 50, 50, 50);
productView.setLayoutParams(params);
Jest to układ zewnętrzny. Widoki są dodawane do dealer_activity_product_list
.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/dealer_activity_dealer_image"
android:layout_width="match_parent"
android:layout_height="150dp"
android:contentDescription="@string/dealer_activity_dealer_image_desc" />
<TextView
android:id="@+id/dealer_activity_dealer_address"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/dealer_activity_product_list1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical" />
<LinearLayout
android:id="@+id/dealer_activity_product_list2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical" />
</LinearLayout>
</LinearLayout>
Czy próbowałeś za pomocą Hierarchia widza? lub próbowałeś zrzucić widok do uiautomator? Za pomocą tych narzędzi możesz sprawdzić swoje układy. Czy możesz opublikować pełny kod, którego używasz? – Tobrun
Czy mógłbyś dodać więcej kodu? Jak kompletny XML? Myślę, że ustawiłeś margines na niewłaściwy element. –
Użyłem HierachyViewer do sprawdzenia układu. Podczas ustawiania marginesu w kodzie jest odzwierciedlone w atrybutach układu nie mogę znaleźć wartości ustawione w pliku XML. – multiholle