这是我的自定义“更改密码”对话框
<?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>
答案 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会使按钮显示。