在Android布局中查看不正确显示

时间:2011-07-05 11:11:55

标签: java android layout customdialog

我在android中设计自定义对话框。为此,我将xml文件设计为

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@color/item_bg_color"
    android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal">

    <TextView android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/custom_dialog_text"
    android:textColor="#000000" 
    android:textSize="14dip"
    android:typeface="serif"
    android:singleLine="false"
    android:text="You are not authorized to use this application." 
    android:layout_marginTop="10dip"/>

    <Button android:id="@+id/custom_button_ok" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:text="Ok" 
    android:layout_below="@+id/custom_dialog_text"
    android:layout_toRightOf="@+id/custom_dialog_text"/>


</RelativeLayout>

问题:

我想在TextView的末尾(右侧)显示按钮,而textview的文本应该在多行中(如果需要显示更多字符)。但是当我使用这种布局时,按钮不会出现在任何地方。

我也使用了LinearLayout和TableLayout,在这两种情况下,按钮都出现了一小部分。我哪里错了?

5 个答案:

答案 0 :(得分:1)

基本上你想要告诉按钮向右对齐,占用所需的所有空间,然后将剩下的空间留给TextView。您可以通过为按钮指定android:layout_layout_alignParentRight="true"并为TextView指定android:layout_toLeftOf="@id/custom_button_ok"来执行此操作。记住订单!!!

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@color/item_bg_color" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal">
  <Button android:id="@+id/custom_button_ok" 
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content"
   android:text="Ok" 
   android:layout_layout_alignParentRight="true" />

  <TextView android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
   android:id="@+id/custom_dialog_text"
   android:textColor="#000000" 
   android:textSize="14dip"
   android:typeface="serif"
   android:singleLine="false"
   android:text="You are not authorized to use this application." 
   android:layout_marginTop="10dip"
   android:layout_toLeftOf="@id/custom_button_ok"
  />
</RelativeLayout>

答案 1 :(得分:0)

对于Button添加属性android:layout_alignParentRight,android:layout_below,他们会帮助你

答案 2 :(得分:0)

尝试这样做..

<TextView android:layout_width="100dip" 
    android:layout_height="wrap_content" 
    android:id="@+id/custom_dialog_text"
    android:textColor="#000000" 
    android:textSize="14dip"
    android:typeface="serif"
    android:singleLine="false"
    android:text="You are not authorized to use this application." 
    android:layout_marginTop="10dip"/>

答案 3 :(得分:0)

layout_belw和layout_rightof属性在文本视图中设置为相同的Id。只需使用layout_below。也可以将按钮的重力设置为底部

答案 4 :(得分:0)

请尝试以下代码

<?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="wrap_content"
    android:orientation="horizontal" android:weightSum="1.0">
    <RelativeLayout android:layout_height="wrap_content"
        android:layout_width="0dp" android:layout_weight="0.85">
        <TextView android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:id="@+id/custom_dialog_text"
            android:textColor="#FFFFFF" android:textSize="14dip"
            android:typeface="serif" android:singleLine="false"
            android:text="You are not authorized to use zdsaddsad this application."
            android:layout_marginTop="10dip" />
    </RelativeLayout>
    <RelativeLayout android:layout_height="wrap_content"
        android:layout_width="0dp" android:layout_weight="0.15">
        <Button android:id="@+id/custom_button_ok"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:text="Ok" />
    </RelativeLayout>

</LinearLayout>