有效地使用微调器

时间:2013-01-15 10:08:37

标签: android

如何将我的微调器设置为标准尺寸? 这意味着它不会更小或更大,具体取决于它当前显示的字符串。我希望它具有固定的大小,如果它包含比其大小更大的单词,则必须截断该单词(仅显示适合的单词)锭子)。谢谢你的时间。

2 个答案:

答案 0 :(得分:1)

在创建时,只需截断传递给微调器的字符串数组。

Pseudo for it:

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通常会在屏幕中间的可滚动“弹出窗口”中显示列表。并且工作得很好。如果你有巨大的字符串,那么这可能是一个问题。虽然我似乎在想,它会为你截断..试试看。

答案 1 :(得分: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;
            }