在手机模拟器上运行时视图正在切割

时间:2012-08-28 05:11:35

标签: android datetimepicker

我正在开发一款适用于手机的应用程序,因为我需要一个日期和时间。时间选择器,因为android不提供我创建自定义的。但是当我添加日期选择器和时间选择器时,时间选择器正在切割。我不知道为什么。虽然它在平板电脑上运行良好(因为我试过),但在手机上它的切割显而易见。任何人都可以帮助我。

这就是我得到的。My Image

我的代码是

<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 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

我希望这会有所帮助

答案 3 :(得分:0)

感谢所有答案,最后我解决了我的问题。我正在为我的手机设备使用不同的布局文件,以便布局以适当的方式进行。非常感谢