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

Android 缩放视图会减小内容大小,但会增加空白页边距,android,android-layout,Android,Android Layout,我正在尝试缩放包含日期选择器和时间选择器的水平线性布局 android:scaleX="0.6" android:scaleY="0.6" 问题是,这会缩放内容,但同时会增加边距,因此我无法正确使用空间。在图中,标记的白色区域是通过缩放获得的空间,但我不能使用此空间(事实上,右侧的时钟被裁剪) 是否有任何解决方案可以在不存在空白问题的情况下缩放视图?我建议您不要使用xscale和yscale。 相反,您可以做的是为日期选择器和时间选择器提供权重 <LinearLayout

我正在尝试缩放包含
日期选择器
时间选择器
的水平
线性布局

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



是否有任何解决方案可以在不存在空白问题的情况下缩放视图?

我建议您不要使用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>


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

是否可以在对话框中使用日期和时间选择器?我想那可能是你唯一的选择。我不知道有什么方法可以像你尝试的那样缩小日期选择器和时间选择器的大小。请参阅。

缩放不会改变控件的大小,这意味着无论是向上缩放还是向下缩放,数据选择器都会在布局中占用相同的空间。只有外观变化

是用IDE预览拍摄的图像吗?@asafgitai yes来自IDE预览如果是这样的话,问题可能只与全息采集前预览有关。这个问题是否发生在真实设备上?如果是的话,全息采集器也会这样吗?如果你无法通过线性布局实现某些行为,请尝试使用RelativeLayout。我将尝试所有建议。谢谢这不管用。DatePicker和TimePicker视图将重叠,如果它们不适合设备屏幕,则不会完全显示。这太棒了!非常感谢。
<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>