0
我從頭開始創建了兩個應該產生相同結果的項目:幾個帶特殊樣式的按鈕。
第一個項目:
activity_main.xml中動態添加視圖導致樣式問題
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/buttons_panel_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<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>
</LinearLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
// default menu part
}
第二個項目:
activity_main.xml中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/buttons_panel_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>
buttons_panel.xml
<?xml version="1.0" encoding="utf-8"?>
<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>
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout buttonsPanelContainer = (LinearLayout) findViewById(R.id.buttons_panel_container);
View buttonPanelView = null;
buttonPanelView = layoutInflater.inflate(R.layout.buttons_panel, null);
ViewGroup insertPoint = (ViewGroup) buttonsPanelContainer;
insertPoint.addView(buttonPanelView, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
}
// default menu part
}
第一個項目工作,它應該=>所有按鈕都可見,適當的風格和點擊。
第二個項目中的按鈕是隱形,雖然可點擊。
請別人告訴我爲什麼動態創建佈局會導致樣式問題?
令人驚歎!非常感謝! Upvoted –