1

私は携帯電話用のアプリを開発しています。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

問題は、日付と時刻のピッカーのサイズです。コードでは、線形レイアウトの親の向きが水平に設定されていますが、水平スペースに十分なスペースがありません。向きを縦に設定しても問題が再発する場合があります。
この問題を解決するには、次の 2 つの方法があります。

  • サイズ比を使用する: サイズ比を維持し、それに応じて子 (ビュー) のサイズを調整する子に layout_weight を割り当てることができます。あなたの要件では、日付ピッカーと時間ピッカーの両方に
    layout_weight = 1 (等しいサイズ) を使用できます。
  • srollView を使用します。Horizo​​ntalScrollView (向きが水平の場合) または ScrollView (向きが垂直の場合) を使用できます。ビューがどれほど大きくても、これらによって処理されます。

これが役立つことを願っています

于 2012-08-28T07:40:43.667 に答える
0

すべての回答に感謝します。最終的に問題を解決しました。レイアウトが適切な方法になるように、電話デバイスに異なるレイアウト ファイルを使用しています。すべての努力に感謝

于 2012-10-25T10:34:29.583 に答える
0

役立つことを期待するandroid:marginよりも、使用する必要があると思います:)android:padding

于 2012-08-28T06:38:52.187 に答える
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 に答える