计时器选择器具有隐藏的边距或填充-Android

计时器选择器具有隐藏的边距或填充-Android,android,android-layout,timepicker,Android,Android Layout,Timepicker,好吧,我已经到处看了看,不知道该怎么办 时间选择器周围有一些隐藏的间距。当我把两个计时器放在另一个计时器下面时: <LinearLayout android:orientation="vertical" android:background="#440044" android:layout_margin="-30dp" android:padding="-30dp" android:layout_width="wrap_content" an

好吧,我已经到处看了看,不知道该怎么办

时间选择器周围有一些隐藏的间距。当我把两个计时器放在另一个计时器下面时:

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

时间选择器在它们周围仍然有巨大的空间。注意,我甚至尝试在计时器选择器和父LinearLayout中同时使用负边距和填充。这些对计时器周围的间距没有任何影响

scaleX和Y显然是为了缩小这些可笑的巨大计时器的尺寸


如果可能的话,我会尽量避免进行自定义。

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

如下图所示,蓝色矩形表示视图(计时器)的实际
宽度
高度

作为解决方案

我想你最好做一个定制的

否则,作为解决方法,您可以使用
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:我不能保证在不同的屏幕密度/大小下会有相同的结果