【问题标题】:View is cutting when run on phone emulator在手机模拟器上运行时视图正在切割
【发布时间】:2012-08-28 05:11:35
【问题描述】:

我正在为手机开发一个应用程序,因为我需要一个日期和时间选择器,并且由于 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>

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

编辑

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

【问题讨论】:

    标签: android datetimepicker


    【解决方案1】:

    试试这个:

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

    【讨论】:

    • 嘿,感谢您的回答,它也有点工作,但即使时间选择器即将到来,日期也在缩短。
    • 是因为屏幕小。尝试使用滚动视图或分两行显示。
    【解决方案2】:

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

    【讨论】:

    • 感谢 MoJo 但没有帮助,它仍然只是这样。
    • This 可能会帮助你;
    【解决方案3】:

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

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

    希望对你有帮助

    【讨论】:

    • 嘿,谢谢卡恩,第一个我已经尝试过了,但我必须尝试你建议的第二种方式。谢谢你的回答
    【解决方案4】:

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

    【讨论】:

    • 也发布答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多