TimePicker隐藏了边距或填充 - Android

时间:2015-04-12 00:28:21

标签: android android-layout timepicker

好的,我环顾四周,无法弄清楚该如何处理。

TimePicker周围有一些隐藏的间距。当我把两个TimePickers放在另一个下面时:

<LinearLayout
    android:orientation="vertical"
    android:background="#440044"
    android:layout_margin="-30dp"
    android:padding="-30dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <TimePicker
        android:id="@+id/timePickerA"
        android:scaleY="0.50"
        android:scaleX="0.50"
        android:layout_margin="-30dp"
        android:padding="-30dp"
        android:background="#989898"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TimePicker
        android:id="@+id/timePickerB"
        android:scaleY="0.50"
        android:scaleX="0.50"
        android:layout_margin="-30dp"
        android:padding="-30dp"
        android:background="#989898"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

TimePickers每个人周围仍然有很大的空间。注意我甚至尝试在TimePickers和父LinearLayout中同时使用负边距和填充。这些对TimePickers周围的间距完全没有影响。

Image of TimerPickers

scaleX和Y显然是为了减小这些非常庞大的TimePickers的大小!

如果可能,我试图避免制作自定义。

1 个答案:

答案 0 :(得分:0)

问题是当您使用android:scaleY="0.50"android:scaleX="0.50"时,您不会将视图缩小到一半,只需重新缩放即可。这意味着您的TimePicker仍具有相同的宽度和高度,但绘图区域将减少一半(半X和半Y)。

请参阅下图,蓝色矩形代表视图的真实widthheight(TimePicker)。

enter image description here

作为解决方案

我认为如果你做一个自定义的更好。

否则,作为解决方法,您可以使用RelativeLayout并使用边距,如下所示:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
     android:background="#440044"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content">

    <TimePicker
        android:id="@+id/timePickerA"
        android:scaleY="0.50"
        android:scaleX="0.50"
        android:background="#989898"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TimePicker
        android:id="@+id/timePickerB"
        android:scaleY="0.50"
        android:scaleX="0.50"
        android:background="#989898"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/timePickerA"
        android:focusableInTouchMode="false"
        android:touchscreenBlocksFocus="false"
        android:layout_marginTop="-80dp" />

</RelativeLayout>

PS:我不保证您在不同的屏幕密度/尺寸下会得到相同的结果。