按钮没有以蜂窝状显示

时间:2011-12-08 15:09:34

标签: android button android-3.0-honeycomb

这是我的自定义“更改密码”对话框

<?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">

    <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_margin="5dp" android:stretchColumns="1">

        <TableRow android:layout_width="fill_parent">
            <TextView android:text="Old Password " android:id="@+id/textViewOldPwd"
                android:isScrollContainer="true" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:textSize="10dp" 
                android:gravity="right" android:layout_marginRight="5dp" />
            <EditText android:text="" android:id="@+id/editTextOPwd" android:singleLine="true" 
                android:layout_width="fill_parent" android:layout_height="wrap_content"
                android:password="true" />
        </TableRow>

        <TableRow android:layout_width="fill_parent">
            <TextView android:text="New Password " android:id="@+id/textView0"
                android:isScrollContainer="true" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:textSize="10dp"
                android:gravity="right" android:layout_marginRight="5dp" />
            <EditText android:text="" android:id="@+id/editTextNPwd" android:singleLine="true" 
                android:layout_width="fill_parent" android:layout_height="wrap_content"
                android:password="true" />
        </TableRow>

        <TableRow android:layout_width="fill_parent">
            <TextView android:text="Confirmation " android:id="@+id/textView1"
                android:isScrollContainer="true" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:textSize="10dp"
                android:gravity="right" android:layout_marginRight="5dp" />
            <EditText android:text="" android:id="@+id/editTextCPwd" android:singleLine="true" 
                android:layout_width="fill_parent" android:layout_height="wrap_content"
                android:password="true" />
        </TableRow>

    </TableLayout>

    <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" >
            <Button android:text="Change Password" android:layout_width="fill_parent" android:id="@+id/btnChangePwd"
                android:layout_height="wrap_content" android:layout_weight=".50" />
            <Button android:text="Cancel" android:layout_width="fill_parent" android:id="@+id/btnCancelPwd"
                android:layout_height="wrap_content" android:layout_weight=".50" />
    </LinearLayout>

</LinearLayout>

最后两个按钮btnChangePwd和btnCancelPwd正在野火(android 2.2)中正确显示,但不会在galay标签(android 3.1)中显示。它只是空的空间。

代码的其他部分是:

final Dialog dialog = new Dialog(this, R.style.FullHeightDialog);
final View passwordDialog = LayoutInflater.from(this).inflate(R.layout.newpassword, null);
dialog.setContentView(passwordDialog);


<resources>
    <style name="FullHeightDialog" parent="android:style/Theme.Dialog">
        <item name="android:windowNoTitle">true</item>
    </style>
</resources>

1 个答案:

答案 0 :(得分:1)

实际上,我认为这是2.2中的一个错误。 Wildfire,因为指定了xml的方式,这些按钮永远不会出现。问题在于:

<TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_margin="5dp" android:stretchColumns="1">

请参阅有关layout_height的部分?这意味着这将填充父母,接下来的按钮将被推离屏幕。在模拟器中,无论我使用什么版本,这正是发生的事情。将其更改为wrap_content会使按钮显示。