2013-01-15 41 views
0

我如何讓我的旋鈕設置爲標準尺寸? 這意味着它不會是更小或更大的取決於它目前shows.I希望它有一個固定的大小,如果它包含一個更大的字,比它的大小,這個詞必須被截斷的字符串(只顯示可什麼適合微調)。謝謝你的時間。有效地使用旋轉器

回答

1

要根據多個屏幕給出寬度,您可以使用尺寸和設置寬度。 假設你想離開微調按鈕的區域,這樣的文本不應該ovelay它,你可以 集填充,而不是微調的文本,也可以設置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; 
      } 
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通常會在屏幕中間顯示一個可滾動的「彈出」列表。並且效果很好。如果你有巨大的字符串,那麼這可能是一個問題。雖然我似乎認爲,它截斷了你..試試看。

+0

確定我得到它,但在我看來有點hack.Isn't任何其他方式也是Android 4.0的微調恰好是一個下拉? – user1746708

+0

@ user1746708剛剛檢查了我的軟糖電話。下拉區域是視圖的寬度。它將匹配你的佈局寬度,在XML文件或程序規定。這是否是「50dip」或「match_parent」,甚至使用佈局權重。 – Doomsknight

+0

我改變了對layout_width和match_parent現在這幾乎是我想要的後援的事情是,現在它顯示字符串的一個很小的部分,只有2個字母。 – user1746708