2010-03-05 4 views
3

는 여기가에 AlertDialog의 견해로이 레이아웃을 팽창 내 레이아웃Android : Spinner의 최대 크기를 설정하는 방법은 무엇인가요?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="fill_parent" android:id="@+id/LinearLayout01" 
     android:layout_height="wrap_content"> 

    <Spinner android:text="@+id/AutoCompleteTextView01" 
         android:id="@+id/Spinner01" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:width="130dp"></Spinner> 
    <EditText android:layout_height="wrap_content" 
       android:layout_width="wrap_content" 
      android:id="@+id/Chapter" android:width="30dp"></EditText> 
    <TextView android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/TextView01" android:text=":"></TextView> 
    <EditText android:layout_height="wrap_content" 
       android:layout_width="wrap_content" android:id="@+id/Verse" 
       android:width="40dp"></EditText> 

</LinearLayout> 

입니다. 그러나 큰 요소를 선택하면 텍스트 필드가 오른쪽으로 밀려납니다. 요소를 선택한 후에 줄임표 ("...") 또는 무엇인가로 선택 항목을 줄 이도록 스피너의 최대 크기를 설정할 수있는 방법이 있습니까?

답변

4

Spinner 세트의 크기는 android:layout_width="wrap_content"이며 그 내용에 따라 결정됩니다. 사물을 줄임표로 나타내려면 행 뷰를 만들 때까지 SpinnerAdapter에 따라 다릅니다.

또는 고정 크기 인 android:layout_width을 하드 와이어로 연결하십시오.

또는 대신 LinearLayout를 사용하는 RelativeLayout를 사용하고 화면의 왼쪽에 첫 번째 EditText의 왼쪽에 고정함으로써 Spinner이 행에 남은 공간을 차지하도록 규칙을 구성. 100 % 확신 할 수는 없지만 내용이 너무 크다면 어떤 일이 일어날 지 알 수 있습니다. 아마 잘릴 것입니다.

3

맞춤 어댑터를 사용할 필요가 없습니다. android.R.layout.simple_spinner_item을 사용하고 타원 선택 윤곽에서 타원 끝으로 변경하십시오. 그런 다음 새 변경 레이아웃 파일을 레이아웃 ID로 설정하거나이 레이아웃 파일을 사용하십시오.

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/spinnerItemStyle" 
    android:singleLine="true" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingRight="10dp" 
    android:ellipsize="end" />