0

次のフィールドに情報を渡すポートレート用とランドスケープ用の 2 つのレイアウトがあります。この 2 つは同一のソース コードを使用しており、同様の XML コードを使用しています。それらの1つは、私が期待する「次へ」ボタンを示し、もう1つは「完了」ボタンを示しています。FrequencyEnterField は FrameLayout です。機能するものは、次の XML コードを使用します。

        <com.kd7uiy.hamfinder.dialogs.FrequencyEnterField
            android:id="@+id/freq"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:singleLine="true"
            android:imeOptions="actionNext"
            android:nextFocusDown="@+id/modeSelect" />

そして、このコードを使用しないもの:

        <com.kd7uiy.hamfinder.dialogs.FrequencyEnterField
            android:id="@+id/freq"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:ems="10"
            android:imeOptions="actionNext"
            android:singleLine="true" 
            android:nextFocusDown="@+id/modeSelect" />

違いは、水平のものは画面全体にスペースを均等に分割するのに対し、垂直のものはその必要がないためです。何が起こっているのか分かりますか?

4

2 に答える 2

0

android:nextFocusForwardの代わりに使用することをお勧めしandroid:nextFocusDownます。nextFocusForwardIMEの「次へ」ボタンに使われているようです。レイアウトが解釈される方法により、たまたま 1 つの方向で機能する場合があります。

于 2014-09-17T23:23:38.890 に答える