Вид не отображается должным образом в макете Android - PullRequest
0 голосов
/ 05 июля 2011

Я создаю собственный диалог в 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 ]

1 голос
/ 05 июля 2011

По сути, вы хотите сказать кнопке, чтобы она была выровнена вправо, заняли все необходимое пространство, а затем предоставили оставшееся пространство для TextView.Это можно сделать, указав android:layout_layout_alignParentRight="true" для кнопки и android:layout_toLeftOf="@id/custom_button_ok" для TextView.Следите за порядком !!!

<?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>
0 голосов
/ 05 июля 2011

Пожалуйста, попробуйте ниже код

<?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>
0 голосов
/ 05 июля 2011

Свойства layout_belw и layout_rightof установлены на одинаковые идентификаторы в текстовом представлении. Просто используйте layout_below. Также вы можете установить гравитацию кнопки внизу

0 голосов
/ 05 июля 2011

попробуйте сделать это ..

<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"/>
0 голосов
/ 05 июля 2011

Для кнопки добавьте атрибуты android: layout_alignParentRight, android: layout_below, они вам помогут

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...