0

スピナーを標準サイズに設定するにはどうすればよいですか? つまり、現在表示されている文字列に応じて小さくも大きくもなりません。固定サイズにしたいのですが、そのサイズよりも大きな単語が含まれている場合、その単語は切り捨てられる必要があります(収まるもののみを表示します)スピナー)お時間をいただきありがとうございます。

4

2 に答える 2

1

作成時にスピナーに渡す文字列配列を切り捨てるだけです。

それのための擬似:

for each string,

   if string > 20 characters, 

   trim to 20 characters (or 17 + ...)

   add string to array.

add array to adapter of spinner.

ただし、スピナーはドロップダウンではないことを指摘しておく必要があります。Android API は通常、画面中央のスクロール可能な「ポップアップ」にリストを表示します。そして、そのままでうまく機能します。巨大な文字列がある場合、これが問題になる可能性があります。と思われそうですが、切り捨ててしまいます.. 試してみてください。

于 2013-01-15T10:16:54.127 に答える
1

複数の画面に応じて幅を指定するには、寸法を使用して幅を設定できます。テキストが重ならないようにスピナー ボタンの領域を残したい場合、テキストをトリミングする代わりにパディングを設定したり、大きなテキストが適切に表示されるようにマーキー効果を設定したりできます。

編集 :

             <Spinner
                android:id="@+id/spntipode"
                android:layout_width="@dimen/spin_size"
                android:layout_height="wrap_content"
                android:layout_below="@+id/lbltipode"
                android:layout_marginLeft="10dip"
                android:layout_marginTop="5dip" 
                android:paddingLeft="5dip"
                android:paddingRight="30dip"
                android:background="@drawable/spinner_selector"
                />

          public View getView(int position, View convertView, ViewGroup parent) {
                View v = super.getView(position, convertView, parent);
                ((TextView)v).setEllipsize(TruncateAt.MARQUEE);
                return v;
            }

            public View getDropDownView(int position,  View convertView,  ViewGroup parent) {
                View v =super.getDropDownView(position, convertView, parent);
                ((TextView)v).setEllipsize(TruncateAt.MARQUEE);
                return v;
            }
于 2013-01-15T11:44:35.650 に答える