代码之家  ›  专栏  ›  技术社区  ›  Martin

自定义对话框视图占据了整个屏幕的宽度

  •  0
  • Martin  · 技术社区  · 3 年前

    我用的是定制的 Dialog ,我从xml中展开布局。此布局中包含一些内容。我一直在充气,并在里面使用这种布局 对话 , weights weightSum 导致我的对话框拉伸到显示的全宽(显示边缘并没有可见的边距)。

    代码(对话框展开为边):

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="1">
    
            <TextView
                android:layout_width="0dp"
                android:layout_weight="0.3"
                android:layout_height="wrap_content"
                android:text="Date"
                style="@style/field_picker_label"/>
    
            <com.github.florent37.singledateandtimepicker.SingleDateAndTimePicker
                android:id="@+id/timePicker"
                android:layout_width="0dp"
                android:layout_weight="0.7"
                android:layout_height="wrap_content"
                app:picker_curved="false"
                app:picker_cyclic="true"
                app:picker_displayMinutes="false"
                app:picker_displayHours="false"
                app:picker_displayDays="false"
                app:picker_displayMonth="true"
                app:picker_displayMonthNumbers="true"
                app:picker_displayDaysOfMonth="true"
                app:picker_displayYears="true"
                app:picker_visibleItemCount="4"
                />
    
        </LinearLayout>
    
        <TextView
            android:id="@+id/validTo"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textStyle="normal"
            style="@style/field_picker_label"/>
    
    </LinearLayout>
    

    对话框未扩展到边缘的正常运行布局示例:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    
        <TextView
            android:id="@+id/text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/registration_label_text"/>
    
    </LinearLayout>
    
    0 回复  |  直到 3 年前