1

我正在为手机开发一个应用程序,因为我需要一个日期和时间选择器,并且由于 android 不提供两者,我创建了我的自定义一个。但是当我同时添加日期选择器和时间选择器时,时间选择器正在减少。我不知道为什么。虽然它在平板电脑上运行良好(正如我尝试过的那样),但在手机上它的切割显然是有原因的。有谁能够帮助我。

这就是我得到的。我的形象

我的代码是

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="5dp" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:orientation="horizontal" >
        <DatePicker
            android:id="@+id/dp_date"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal" />
        <TimePicker
            android:id="@+id/tp_time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <Button
            android:id="@+id/btn_date_time_ok"
            style="@style/Text.Medium"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="1"
            android:text="@string/ok" />
        <Button
            android:id="@+id/btn_date_time_cancel"
            style="@style/Text.Medium"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="1"
            android:text="@string/cancel" />
    </LinearLayout>

</LinearLayout>

任何人都可以建议我一些选择器自行调整以适应屏幕的东西。或者我错过了什么。任何帮助将不胜感激。提前致谢。

编辑

有没有办法减少日期和时间选择器中使用的文本大小????

4

4 回答 4

0

试试这个 :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:orientation="horizontal"
    android:weightSum="10" >

    <DatePicker
        android:id="@+id/dp_date"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_weight="5" />

    <TimePicker
        android:id="@+id/tp_time"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_weight="5" />
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/btn_date_time_ok"
        style="@style/Text.Medium"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:text="@string/ok" />

    <Button
        android:id="@+id/btn_date_time_cancel"
        style="@style/Text.Medium"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:text="@string/cancel" />
</LinearLayout>

</LinearLayout>
于 2012-08-28T05:22:18.893 回答
0

我认为你应该使用android:margin而不是android:padding希望它有帮助:)

于 2012-08-28T06:38:52.187 回答
0

问题是您的日期和时间选择器的大小。在您的代码中,线性布局父级的方向设置为水平,但水平空间中没有足够的空间。即使方向设置为垂直,问题也可能再次出现。
解决这个问题的两种方法:

  • 使用大小比例:您可以将 layout_weight 分配给子项,这将保持大小比例并相应地调整子项(视图)的大小。根据您的要求,您可以对日期选择器和时间选择器使用
    layout_weight = 1(大小相等)。
  • 使用 srollView:您可以使用 Horizo​​ntalScrollView(如果方向是水平的)或 ScrollView(如果方向是垂直的)。不管意见有多大,都会被这些照顾。

我希望这有帮助

于 2012-08-28T07:40:43.667 回答
0

感谢所有答案,Bu终于解决了我的问题。我正在为我的手机设备使用不同的布局文件,以便布局以适当的方式出现。感谢所有的努力

于 2012-10-25T10:34:29.583 回答