2

を介して値を設定したスピナーが1つありますAdapter。問題は、その時点でスピナーを閉じると、テキストが適切なサイズで完全に読み取り可能であると表示されることです。しかし、スピナーをクリックしてテキストを表示すると、そのテキストは判読不能として表示されます。つまり、テキストがカットされていることを意味します。

この問題は、GalaxyTabとGalaxys3でのみ発生します。画面サイズが大きいことを意味します。それで、誰かが私がこの問題を解決するのを手伝ってくれるでしょうか?

スピナーのスクリーンショットはスピナーでカットされたテキスト、実際にこれが欲しいです
正しいスピナーテキスト

xmlのスピナーコードは

<Spinner
    android:id="@+id/ddCountry"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
/>

テキストの色を黒に設定するために1つのスタイルを設定しましたが、コードは次のようになります

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <style name="Theme.NoTitleBar.WithColoredSpinners" parent="@android:style/Theme.NoTitleBar">
        <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
        <item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item>
    </style>
    <style name="SpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem">
        <item name="android:textColor">#000000</item>
    </style>

    <style name="SpinnerItem.DropDownItem" parent="@android:style/Widget.DropDownItem.Spinner">
        <item name="android:textColor">#000000</item>
     </style>

</resources>

スピナーで値を埋めるためのコードは次のようになります。

ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(
                Registration.this, android.R.layout.simple_spinner_item, list);
        dataAdapter
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner1.setAdapter(dataAdapter);

このコードはほとんどのデバイスで機能しますが、GalaxyTabのように画面サイズが大きい場合に問題が発生します。

4

4 に答える 4

1

次のコードを試してください。

      <Spinner
android:id="@+id/ddCountry"
android:layout_width="fill_parent"
android:layout_height="20dp"
 />

スピナーに合わせてlayout_heightを変更してみてください

于 2012-09-28T13:31:48.267 に答える
0

セットするandroid:layout_height="wrap_content"

于 2012-09-28T13:38:29.497 に答える
0

問題は明らかにドロップダウンレイアウトにあります。

のストックドロップダウンレイアウトandroid.R.layout.simple_spinner_dropdown_item(Samsungがデバイス用に変更した可能性があります)を使用するのではなく、独自のレイアウトを作成し、閉じたスピナーに一致するようにテキストサイズを設定します。

これは、デフォルトをレイアウトディレクトリにコピーし、名前を変更し、テキストサイズを追加/変更してレイアウト自体を微調整するのと同じくらい簡単です。

于 2012-09-28T13:40:48.377 に答える
0

私は解決策を得ました。私が設定したのは私の間違いですandroid:anyDensity="false"。したがって、Galaxyタブでは機能しませんでした。

于 2012-09-29T05:13:08.640 に答える