Java android自定义对话框按钮不适合

时间:2017-03-03 12:50:40

标签: java android android-layout android-xml

我创建了一个自定义对话框,但并非所有按钮都适合。我不知道为什么会发生,在Android工作室的预览看起来不错,但在手机上看起来不太好。

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >


    <TextView
        android:id="@+id/text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Wybierz grupę:"
        android:textColor="#000000"
       />


    <Spinner
        android:id="@+id/fd_valSp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/text"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="20dp" />

    <LinearLayout
        android:layout_below="@+id/fd_valSp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">


        <Button android:id="@+id/cancel_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/cancel" />


        <Button android:id="@+id/add_group_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/add_new_group"
             />

        <Button android:id="@+id/add"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/add"
            />

    </LinearLayout>

</RelativeLayout>

enter image description here

3 个答案:

答案 0 :(得分:0)

使用以下XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">


    <TextView
        android:layout_alignParentTop="true"
        android:id="@+id/text"
        android:gravity="center"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Wybierz grupę:"
        android:textColor="#000000" />


    <Spinner

        android:id="@+id/fd_valSp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/text"
        android:layout_marginTop="20dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/fd_valSp"
        android:weightSum="10"
        android:orientation="horizontal">


        <Button
            android:id="@+id/cancel_button"
            android:layout_width="0dp"
            android:layout_weight="2.5"
            android:layout_height="wrap_content"
            android:text="@string/cancel" />


        <Button
            android:id="@+id/add_group_button"
            android:layout_width="0dp"
            android:layout_weight="5"
            android:layout_height="wrap_content"
            android:text="@string/add_new_group" />

        <Button
            android:id="@+id/add"
            android:layout_width="0dp"
            android:layout_weight="2.5"
            android:layout_height="wrap_content"
            android:text="@string/add" />

    </LinearLayout>

</RelativeLayout>

答案 1 :(得分:0)

您可以将layout_weight与线性布局一起使用,如0.3,0.4,0.3,这将适合其中的按钮。

如果字符串很长,您也可以垂直显示3个按钮。

答案 2 :(得分:0)

尝试使用线性布局的重量属性,它适用于你。