如何将微调器设置为标准尺寸?这意味着它不会更小或更大,具体取决于它当前显示的字符串。我希望它有一个固定的大小,如果它包含一个比它的大小更大的单词,则必须截断该单词(只显示可以适合的内容微调器)。谢谢您的时间。
问问题
132 次
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 回答