您可以在此处查看我的布局,其中Spinner
的可绘制ic_menu_preferences
设置为其背景,相对于具有相同可绘制的ImageButton
延伸
如何在不拉伸drawable的情况下向Spinner
背景添加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 :(得分:1)
找到答案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中的背景图片:
<Spinner
android:id="@+id/more"
android:layout_width="0dp"
android:layout_weight="1"
android:background="@drawable/my_sort_icon"
android:layout_height="@dimen/height"/>