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

时间:2014-04-14 21:02:23

标签: android android-layout

我尝试缩放包含LinearLayoutDatePicker添加

的水平TimePicker
android:scaleX="0.6"
android:scaleY="0.6"

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

Screenshot

<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>

在没有此空白区问题的情况下缩放视图的任何解决方案?

3 个答案:

答案 0 :(得分:2)

我建议你不要使用xscale&amp; 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>

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

答案 1 :(得分:1)

您是否可以在对话框中使用日期和时间选择器?我想这可能是你唯一的选择。我不知道如何以你想要的方式缩小DatePicker和TimePicker的大小。请参阅http://developer.android.com/guide/topics/ui/controls/pickers.html#DatePickerFragment

答案 2 :(得分:1)

缩放不会改变您的控件大小,这意味着您的数据选择器将在您的布局中占用相同的空间,无论它是向上还是向下调整。只有他们的外表改变