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

要根据多个屏幕提供宽度,您可以使用尺寸并设置宽度。假设你想离开微调按钮的区域,这样文本不应该覆盖它,你可以设置填充而不是修剪文本,还可以设置 marqee 效果,以便正确显示大文本。

编辑 :

             <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 回答