缩放视图会缩小内容大小,但会增加空白边距

And*_*eaF 6 android android-layout

我正在尝试缩放LinearLayout包含DatePickerTimePicker添加的水平

android:scaleX="0.6"
android:scaleY="0.6"
Run Code Online (Sandbox Code Playgroud)

问题是,这会缩放内容但同时增加边距,因此我无法正确使用空间.在图片中,标记的白色区域是通过缩放获得的空间,但我无法使用此空间(事实上,右侧的时钟被裁剪)

截图

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:scaleX="0.6"
    android:scaleY="0.6">

    <DatePicker
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/datePicker"
        android:layout_gravity="center_horizontal"
        android:calendarViewShown="false"
        android:spinnersShown="false"
        android:layoutMode="opticalBounds"
        android:measureAllChildren="true" />

    <TimePicker
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/timePicker"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="5dp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

没有此空白问题的任何缩放视图的解决方案?

小智 2

我建议您不要使用 xscale 和 yscale。相反,您可以做的是为日期选择器和时间选择器提供权重。

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center_horizontal">

    <DatePicker
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="50"
        android:id="@+id/datePicker"
        android:layout_gravity="center_horizontal"
        android:calendarViewShown="false"
        android:spinnersShown="false"
        android:layoutMode="opticalBounds"
        android:measureAllChildren="true" />

    <TimePicker
       android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="50"
        android:id="@+id/timePicker"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="5dp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

您可以在两侧添加填充或根据需要修改权重。