我在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,在这两种情况下,按钮都出现了一小部分。我哪里错了?
答案 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>