2017-06-16 79 views
0

您可以在这里看到我的布局,其中Spinner与绘制ic_menu_preferences集到它的背景是伸出相对ImageButton用相同的绘制绘制对象设置为微调的背景伸出

enter image description here

哪有我在Spinner背景中添加了一个drawable而不伸出drawable?

<android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay"> 

     <Spinner 
      android:id="@+id/dropdownMenu" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="end" 
      android:background="@android:drawable/ic_menu_preferences" 
      /> 

     <ImageButton 
      android:id="@+id/scannerSettingsButton" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="end" 
      android:background="@android:drawable/ic_menu_preferences" 
      android:layout_marginRight="10dp" 
      /> 

     <ToggleButton 
      android:id="@+id/scannerButton" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="#00000000" 
      android:layout_gravity="end" 
      android:textOn="SCAN" 
      android:textOff="STOP"/> 

     <ProgressBar 
      android:id="@+id/progress_spinner" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:indeterminate="true" 
      android:layout_marginBottom="15dp" 
      android:layout_marginTop="15dp" 
      android:layout_gravity="end" 
      /> 

    </android.support.v7.widget.Toolbar> 

这里是Java代码

dropdownMenu = (Spinner) findViewById(R.id.dropdownMenu); 
List<String> list = new ArrayList<>(); 
list.add(""); 
list.add("list 2"); 
list.add("list 3"); 
ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(this, 
     android.R.layout.simple_spinner_item, list); 
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
dropdownMenu.setAdapter(dataAdapter); 

回答

0

找到答案here

背景图像取所有给定的空间 - 在所述的LinearLayout宽度的1/3。如果您不希望它伸展,可以创建一个可绘制的布局,例如绘制/ my_sort_icon:

<?xml version="1.0" encoding="utf-8"?> 
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
    android:src="@drawable/ic_action_sort_by_size" 
    android:tileMode="disabled" 
    android:gravity="center" /> 

,并用它作为你的微调背景图片:

<Spinner 
    android:id="@+id/more" 
    android:layout_width="0dp" 
    android:layout_weight="1" 
    android:background="@drawable/my_sort_icon" 
    android:layout_height="@dimen/height"/>