2015-09-16 12 views
5

Android önerisini takip ettim ve style="?android:attr/buttonBarStyle"'u ana düzende ve style="?android:attr/buttonBarButtonStyle" düğmelerine ayarlayın. Hala onlara tıklayın rağmen,
Ayar stili = "? Android: attr/buttonBarStyle", ana düzen ve stil için = "? Android: attr/buttonBarButtonStyle" düğmeleri görünmez hale getiriyor

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    style="?android:attr/buttonBarStyle"> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button 1" 
     style="?android:attr/buttonBarButtonStyle"/> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button 2" 
     style="?android:attr/buttonBarButtonStyle"/> 

    <Button 
     android:id="@+id/button3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button 3" 
     style="?android:attr/buttonBarButtonStyle"/> 

</LinearLayout> 

Ama stil ayarladıktan sonra, bu düğmeler görünmez hale gelmiştir:

Yani şimdi benim düzeni böyle bir şeydir.

Lütfen sorunun ne olduğunu söyle.

Düzenleme: Ek ayrıntılar

Eh, özellikle bu düzeni test etmek için yeni bir proje oluşturdum ve şaşırtıcı bir şekilde gerçekten işe yarıyor.

Yani aslında ben dinamik olarak bu gibi başka birine bir şey bu düzen eklemek, daha doğrusu:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:id="@+id/buttons_panel_container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

    </LinearLayout> 

    <!-- some other stuff --> 

</LinearLayout> 

Kodu:

LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

LinearLayout buttonsPanelContainer = (LinearLayout) findViewById(R.id.buttons_panel_container); 

View buttonPanelView = null; 
if(chosenValueType.equals("some_type")) { 

    buttonPanelView = layoutInflater.inflate(R.layout.some_buttons_panel, null); 

    Button Button1 = (Button) buttonPanelView.findViewById(R.id.button1); 
    Button1.setOnClickListener(this); 
    Button Button2 = (Button) buttonPanelView.findViewById(R.id.button2); 
    Button2.setOnClickListener(this); 

} else if (chosenRawValueType.equals("another_type") { 
    //... 

ViewGroup insertPoint = (ViewGroup) buttonsPanelContainer; 
insertPoint.addView(buttonPanelView, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 

Maalesef daha önce söz etmek, ben yapmadım Durum böyle olabileceğini düşünmüyor.

Neyin var?

+0

@Heyyou I o dahili stil – Emil

+0

@Boss evet, bunu merak ediyordum ... Hangi soruyu gördük düşünüyorum kullanmak için gerekli daha önce kullanılan markalar? –

+0

@Heyyou Evet, ben. Kenarlıksız düğme stili – Emil

cevap

1

Sadece

LayoutInflater layoutInflater = LayoutInflater.from(this); 

yerine

LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);