如何绕过ICS和Jellybean中不一致的DatePicker Widget

时间:2012-08-30 12:45:26

标签: android xml android-layout android-widget datepicker

我在Android中使用Datepicker。我在Jellybean中得到了一个完整的Bizzare 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?

活动中没有代码。只是xml编码。

1 个答案:

答案 0 :(得分:6)

如果您不希望为日历留出空间,请将android:calendarViewShown="false"添加到<DatePicker>元素以取消日历。