【发布时间】:2011-12-24 02:03:30
【问题描述】:
我正在制作一个布局来复制自定义对话框。对于我的对话框的底部,尽管我将 RelativeLayout 高度设置为 wrap_content,但托管正面、中性和负面按钮的 RelativeLayout 具有扩展的高度。
我的布局 XML 如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/TextView_Title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dip"
android:text="Title"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="match_parent"
android:layout_height="1dip"
android:layout_marginBottom="10dip"
android:layout_marginLeft="0dip"
android:layout_marginRight="0dip"
android:layout_marginTop="10dip"
android:background="@android:drawable/divider_horizontal_dim_dark" >
</LinearLayout>
<TextView
android:id="@+id/TextView_Message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:text="TextView" />
<RelativeLayout
android:id="@+id/relativeLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/bottom_bar" >
<Button
android:id="@+id/Button_Positive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/Button_Neutral"
android:layout_centerVertical="true"
android:text="Button" />
<Button
android:id="@+id/Button_Neutral"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Button" />
<Button
android:id="@+id/Button_Negative"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/Button_Neutral"
android:layout_centerVertical="true"
android:text="Button" />
</RelativeLayout>
Java 活动代码:
public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog);
// Assign content references
TextView message = (TextView) findViewById(R.id.TextView_Message);
message.setText("Are you sure you want to sign out?");
}
}
【问题讨论】:
-
您能否添加一个屏幕截图来说明您所说的“扩展高度”是什么意思?我只是从字面上复制粘贴了您的 xml,它似乎渲染得很好。至少我没有看到您可能指的任何“扩展高度”。这是我看到的截图:i.imgur.com/uL1E9.png
-
对。 Eclipse 显示它很好。但实际的 Nexus One 设备却没有。真的很奇怪……
-
也许是运行时发生的事情?您能否添加用于创建自定义对话框的代码?
-
我观察到,如果您在
Relative Layout内有MATCH_PARENT的内容,而Relative Layout的相应参数设置为WRAP_CONTENT,这也会导致问题。
标签: android android-layout android-widget android-xml