android - 如何绕过 ICS 和 Jellybean 中不一致的 DatePicker 小部件

标签 android xml android-layout android-widget datepicker

我在 Android 中使用 Datepicker。我在 Jellybean 中得到了一个非常奇异的 UI。

enter image description here

这是布局代码:

    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout01"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/stores"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <Spinner
            android:id="@+id/spinner_sales_store"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp" >

        <TextView
            android:id="@+id/textView2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/products"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <Spinner
            android:id="@+id/spinner_sales_product"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/quantities"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <Spinner
            android:id="@+id/spinner_sales_quantity"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp" >

        <TextView
            android:id="@+id/textView4"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Price"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView_sales_price"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="------"
            android:textAppearance="?android:attr/textAppearanceMedium" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp" >

        <TextView
            android:id="@+id/textView5"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="No of Items"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <EditText
            android:id="@+id/txt_sales_num"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow6a"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp" >

        <TextView
            android:id="@+id/textView6a"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Order Date"
            android:textAppearance="?android:attr/textAppearanceMedium" />

    </TableRow>
    <TableRow
        android:id="@+id/tableRow6b"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp" >
        <android.widget.DatePicker
            android:id="@+id/dpicker_sales_Order_date"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </TableRow> 

    <TableRow
        android:id="@+id/tableRow7a"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="2dp">

        <TextView
            android:id="@+id/textView7"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Issue Date"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    </TableRow> 

    <TableRow
        android:id="@+id/tableRow7b"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"  >  
        <android.widget.DatePicker
            android:id="@+id/dpicker_sales_Issue_date"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="right" />
    </TableRow> 

    <TableRow
        android:id="@+id/tableRow8"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal">

        <Button
            android:id="@+id/btn_sales_save"
            style="@style/ButtonStyle_menu"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"        
            android:background="@drawable/custom_button"
            android:text="@string/save"
            android:onClick="saveClicked_Sales" />

    </TableRow>

</TableLayout>

</ScrollView>

您是否遇到过此类问题? 有没有办法像在 GingerBread 中那样只显示 UI?

Activity 中没有代码。只是 xml 编码。

最佳答案

添加android:calendarViewShown="false"给你的<DatePicker>如果您不希望为它腾出空间,可以隐藏日历元素。

关于android - 如何绕过 ICS 和 Jellybean 中不一致的 DatePicker 小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12197171/

相关文章:

xml - Mule ESB 错误>>“有两个转换器与输入完全匹配

xml - XSLT 运行速度太慢

android - 选择器与 android :drawable ="@color/transparent" attribute

java - 基于语言环境的 GregorianCalendar 日期字符串

javascript - PhoneGap 构建 - 位置 API 超时

java - 解析 XML 时如何禁用 XInclude?

Android Theme.NoTitleBar 不起作用

android - LinearLayout * 元素大小

android - Eclipse DDMS 中的线程状态为 "native"

android - SQLiteDatabase.Query 方法中的多个 OrderBy