1

'daki iç içe doğrusal düzende görünüm ekleyemiyor Programlama ve dinamik olarak tüm parça yerleşimini oluşturmak istiyorum. Bu düzgün çalışmıyorsa neden, fragman

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout 
    android:id="@+id/empty_container" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

ben çözemiyorum:

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
    final View view = inflater.inflate(R.layout.empty_container, container, false); 

    final FrameLayout rootView = (FrameLayout) view.findViewById(R.id.empty_container); 

    final LinearLayout linearLayout = new LinearLayout(getActivity()); 
    linearLayout.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 
    linearLayout.setOrientation(LinearLayout.HORIZONTAL); 
    linearLayout.setBackgroundColor(Color.BLACK); 

    rootView.addView(linearLayout); 

    final Button button = new Button(getActivity()); 
    button.setBackgroundColor(Color.GREEN); 
    button.setText("button name"); 
    button.setLayoutParams(new LinearLayout.LayoutParams(100, 100)); 

    linearLayout.addView(button); 

    return view; 
} 

ve xml: Ben bu kodu oluşturduk. Düğme hiç görünmez (ancak doğrusal düzen görünür - tüm ekran siyahtır). Düğme Düzeni düğmelerinden birini MATCH_PARENT olarak ayarladığımda aniden görünür, ancak 100 px veya WRAP_CONTENT olarak ayarlandığında, gösterilmiyor.

+0

Açık Android Cihaz Monitör, ağaç görüntüleyici ile DOM kontrol sonra, uygulamayı çalıştırın. DOM’a Views’un eklenip eklenmediğini görebilirsiniz. Hiyerarşi görüntüleyici kullanarak –

+0

http://developer.android.com/tools/help/hierarchy-viewer.html –

+0

Ben araç çubuğunun altında gizli bulduğu buldu, @RussellElfenbein – tymbark

cevap

0

Eklemekte olduğunuz gibi görünüyor. Android Device Monitor uygulamasını açın, uygulamayı çalıştırın ve ardından DOM'unuzu ağaç görüntüleyici ile kontrol edin. DOM’a Views’un eklenip eklenmediğini görebilirsiniz.

developer.android.com/tools/help/hierarchy-viewer.html

0

Neden root görüntüsünü LinearLayout yapmıyorsunuz? Daha sonra root görünümünü LinearLayout'a atayabilirsiniz, daha önce referans almış olduğunuzdan kimliğine göre bulmanız gerekmez. Geçerli değerler düğmesi araç çubuğunun altına saklandığını setGravityhttp://developer.android.com/reference/android/view/Gravity.html

+0

Üzgünüz, setOrientation' değil, yerçekimi olması gerekiyordu, ve daha fazla çocukla FrameLayout' içinde birden fazla lineer düzen olması gerekiyorsa ne olurdu? Problemim için bir çözümüm var, sadece merak ediyorum, bu kod neden çalışmıyor, ve düğmelerden birinin "MATCH_PARENT" parametresine geçmesi butonun görünmesini sağlıyor. EDIT: yukarıda yayınlanan çözümü buldu ... – tymbark

0

içine koymak için bu hat linearLayout.setGravity(LinearLayout.HORIZONTAL); Kontrolü tarafından bu bağlantıyı niyetinde ve boyut Ne Ayrıca emin 100px x 100px görüntülemek için yeterli değildi. Hiyerarşi görüntüleyici bunu anlamama yardımcı oldu.