两个线性布局,但只有一个显示

时间:2012-06-26 15:09:05

标签: android layout android-linearlayout

我的父布局是一个线性布局,在里面我试图添加两个线性布局。由于某些原因。将显示的唯一布局是带有两个按钮的线性布局,而另一个从不出现....任何建议?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical">
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="140dp"
    android:layout_weight="2"
    android:orientation="vertical">
    <TextView
            android:id="@+id/dynamic_actionsText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" 
            android:text="Text"/>
    <Spinner
            android:id="@+id/dynamic_actionsSpinner"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
</LinearLayout>
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="240dp"
    android:layout_weight="2"
    android:orientation="vertical">
    <Button android:id="@+id/dynamic_btnSubmit"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.0"
            android:visibility="gone"/>
    <Button android:id="@+id/dynamic_btnSave"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.0"
            android:visibility="gone"/>
</LinearLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:0)

any suggestions?

建议:

1 - 将方向垂直设置为 LinearLayout的父级 .....

2-从dynamic_btnSubmit和dynamic_btnSave删除android:visibility =“gone”

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="140dp"
        android:layout_weight="2"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/dynamic_actionsText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Text" />

        <Spinner
            android:id="@+id/dynamic_actionsSpinner"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="240dp"
        android:layout_weight="2"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/dynamic_btnSubmit"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.0" />

        <Button
            android:id="@+id/dynamic_btnSave"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.0" />
    </LinearLayout>

</LinearLayout>

enter image description here

答案 1 :(得分:0)

首先删除可见性(如Dheeresh所述)

现在,按钮的android:layout_height =“wrap_content”就是问题所在。

由于按钮中没有文字内容,因此它们的高度基本上是= 0(wrap_content的行为)

在两个按钮中添加属性为android:text =“Hi”。你现在应该能够看到它们。

如果您打算动态执行整个操作,请执行以下操作,

Button btnSubmit=(Button) findViewById(R.id.dynamic_btnSubmit);
btnSubmit.setText("Submit");
Button btnSave=(Button) findViewById(R.id.dynamic_btnSave);
btnSave.setText("Save");
btnSubmit.setVisibility(VIEW.VISIBLE);
btnSave.setVisibility(VIEW.VISIBLE);