mam ten układ xml do widoku listy:zmienić szerokość układu liniowego w android
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/menu"
android:orientation="vertical" android:background="#2f4f4f" android:layout_width="wrap_content" android:layout_height="fill_parent">
<ListView android:id="@+id/list" android:layout_width="fill_parent" android:layout_height="wrap_content"
android:background="#2f4f4f" android:cacheColorHint="#2f4f4f" android:scrollbars="none">
</ListView>
</LinearLayout>
Układ liniowy zajmuje całą szerokość ekranu domyślnie.
Chcę zmienić programatically.I to chcesz zrobić coś takiego:
Ale kiedy zmienić szerokość linearlayout nic się nie dzieje, to nadal zajmuje pełną szerokość ekranu
LayoutInflater inflater = LayoutInflater.from(this);
View menu = inflater.inflate(R.layout.xml_layout, null);
menu.setLayoutParams(new LayoutParams(20,LayoutParams.WRAP_CONTENT));
po wyświetleniu szerokości układu hardcoding w widoku listy jako:
<ListView
android:id="@+id/list"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="#2f4f4f"
android:cacheColorHint="#2f4f4f"
android:scrollbars="none" >
</ListView>
uzyskać to:
Proszę zaproponować sposób, aby to zrobić.
Po wyświetleniu szerokości układu hardcoding dostaję coś innego, zobacz moje edytowane pytanie. Również chcę zmienić szerokość menu na podstawie preferencji, więc muszę to zrobić programowo. – vishesh
zmienić kolor tła układu liniowego na biały –
zaktualizowałam moją odpowiedź –