Chcę dodać trzy liniowe układy do aktywności programowo o tej samej szerokości. Problem polega na tym, że nie jestem w stanie programowo ustawiać wag tych układów. Mogłem to zrobić w xml, ale chcę to zrobić w programie. tutaj jest to, co chcę: Android Linear Layout Weight Programowo
24
A
Odpowiedz
38
Oto jego rozwiązanie
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(0, 100);
lp.weight = 1;
zobacz pełne rozwiązanie
LinearLayout ll1, ll2, ll3;
/* Find these LinearLayout by ID
i.e ll1=(LinearLayout)findViewById(R.id.ll1);
*/
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(0, 100);
lp.weight = 1;
ll1.setLayoutParams(lp);
ll2.setLayoutParams(lp);
ll3.setLayoutParams(lp);
5
Zastosowanie new LinearLayout.LayoutParams(int width, int height, float weight)
ustawić ciężary podczas ustawiania params układu do subviews
2
Zrób to w ten sposób ..
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtNote = (LinedEditText) findViewById(R.id.txtNote);
lnr = (LinearLayout) findViewById(R.id.lnr);
LinearLayout l1 = new LinearLayout(this);
LinearLayout l2 = new LinearLayout(this);
LinearLayout l3 = new LinearLayout(this);
l1.setBackgroundResource(android.R.color.holo_green_light);
l2.setBackgroundResource(android.R.color.holo_orange_dark);
l3.setBackgroundResource(android.R.color.holo_blue_bright);
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT, 1);
lnr.addView(l1, param);
lnr.addView(l2, param);
lnr.addView(l3, param);
}
2
Można to zrobić poprzez ustawienie właściwości układu masy dla poszczególnych układów liniowych, przekazać ją w LinearLayout - LayoutParams konstruktora:
LinearLayout.LayoutParams param = new LinearLayout.LayoutParam(
LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT, 1);
lub
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
0,
LayoutParams.MATCH_PARENT, 1);
Nadzieja może pomóc!
Powiązane problemy
- 1. Android Layout waga programowo
- 2. Kompleksowość szkolenia Linear SVM
- 3. Linear X Skala logarytmiczna
- 4. Android - Jak określić wagę programowo dla RelativeLayout?
- 5. CSS Future Proof Linear Gradient
- 6. CSS3 Box-Shadow Linear Gradient?
- 7. Centrowanie ProgressBar programowo w Android
- 8. Android programowo zawiera układ (tzn. Bez XML)
- 9. Android: programowo dodaje przyciski do układu
- 10. Tworzenie Układ programowo w android - Wydanie
- 11. UICollectionViewCell Auto Layout
- 12. Programowo Fling ListView Android
- 13. Zmiana ImageView programowo Android
- 14. Programowo ciemnieje widok Android
- 15. Ustawienia android: animateLayoutChanges programowo
- 16. Programowo ustawiony android: layout_centerHorizontal
- 17. android - programowanie programowo LayoutParams
- 18. Android - jak usunąć View in Layout (Widok dynamicznie dodany)
- 19. Czy znacznik "uwzględnienia" w Android XML Layout naprawdę działa?
- 20. Android: Dodaj programowo dwa widoki tekstowe
- 21. Blackberry - Pola animacja layout
- 22. jQuery Layout Manager
- 23. Zend Framework Layout
- 24. Django virtualenv layout
- 25. Layout Manager i pozycjonowanie
- 26. Auto Layout UILabels
- 27. Auto Layout i sizeForChildContentContainer
- 28. Graph Layout użyciu Graph #
- 29. Auto Layout: layoutMarginsGuide
- 30. Auto Layout nie działa?
Pracowałem jak amulet, dzięki za szybką reakcję. Jednak musiałem zmodyfikować go trochę jak to >> LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams (0, LayoutParams.WRAP_CONTENT); \t \t \t \t lp.weight = 1; – Bhaijaan