自定义布局不适合对话框窗口

时间:2012-10-13 23:51:22

标签: android android-layout

我设计了以下自定义布局,然后将其扩展为DialogFragment 我添加了积极的&负面按钮以编程方式

但是布局中的最后一个TextView没有显示在对话窗口中,并且被消极和积极的

覆盖

我该如何克服这个问题?

以下是我的Dialog自定义布局的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/txtViewResult"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="16dp"
        android:text="@string/result"
        tools:context=".ResultActivity" />

    <TextView
        android:id="@+id/txtViewResultPercent"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/txtViewResult"
        android:layout_marginRight="28dp"
        android:layout_marginTop="16dp"
        android:text="Result Value" />

    <TextView
        android:id="@+id/txtViewResultMsg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/txtViewResultPercent"
        android:layout_below="@+id/txtViewResultPercent"
        android:layout_marginTop="8dp"
        android:text="Result Message" />

    <TextView
        android:id="@+id/txtViewAdvice"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/txtViewResultMsg"
        android:layout_below="@+id/txtViewResultMsg"
        android:layout_marginTop="16dp"
        android:text="@string/Advice" />

    <TextView
        android:id="@+id/txtViewAdviceMsg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/txtViewAdvice"
        android:layout_below="@+id/txtViewAdvice"
        android:layout_marginTop="16dp"
        android:text="Advice Message"
        android:layout_marginBottom="16dp" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

解决此问题的最简单方法是使用ScrollView。这就是

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

            <TextView
                android:id="@+id/txtViewResult"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="16dp"
                android:text="@string/result"
                tools:context=".ResultActivity" />

            <TextView
                android:id="@+id/txtViewResultPercent"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_below="@+id/txtViewResult"
                android:layout_marginRight="28dp"
                android:layout_marginTop="16dp"
                android:text="Result Value" />

            <TextView
                android:id="@+id/txtViewResultMsg"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignRight="@+id/txtViewResultPercent"
                android:layout_below="@+id/txtViewResultPercent"
                android:layout_marginTop="8dp"
                android:text="Result Message" />

            <TextView
                android:id="@+id/txtViewAdvice"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignRight="@+id/txtViewResultMsg"
                android:layout_below="@+id/txtViewResultMsg"
                android:layout_marginTop="16dp"
                android:text="@string/Advice" />

            <TextView
                android:id="@+id/txtViewAdviceMsg"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignRight="@+id/txtViewAdvice"
                android:layout_below="@+id/txtViewAdvice"
                android:layout_marginTop="16dp"
                android:text="Advice Message"
                android:layout_marginBottom="16dp" />

    </RelativeLayout>
</ScrollView>

希望这会有所帮助。 :)

答案 1 :(得分:0)

将它全部放在滚动视图中。