我的要求是创建一个自定义微调器,并且我能够成功创建该微调器,但是该微调器在不同的设备中看起来有所不同。
这是正确的,但在某些设备中显示如下
只想清除一下我的最低Sdk
版本是21
以下是我的代码
<android.support.constraint.ConstraintLayout
android:id="@+id/cl_fragment_dashboard_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:layout_marginEnd="4dp"
android:background="@drawable/spinner_dashboard_rectangle"
app:layout_constraintBottom_toBottomOf="@id/tv_fragment_dashboard_fee_statistics"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_fragment_dashboard_fee_statistics">
<Spinner
android:id="@+id/spinner_fragment_dashboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
android:layout_marginEnd="3dp"
android:background="@drawable/custom_spinner_background"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
我为Spinner
设计的自定义适配器如下
public class MySpinnerAdapter extends ArrayAdapter<String> {
public MySpinnerAdapter(Context context, int resource, ArrayList<String> items) {
super(context, resource, items);
}
@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
TextView view = (TextView) super.getView(position, convertView, parent);
view.setPadding(10,5,25,5);
view.setTypeface(MyApplication.okomito_regular);
return view;
}
@Override
public View getDropDownView(int position, View convertView, @NonNull ViewGroup parent) {
TextView view = (TextView) super.getDropDownView(position, convertView, parent);
view.setPadding(15,10,0,10);
view.setTypeface(MyApplication.okomito_regular);
return view;
}
}
这是custom_spinner_background的代码
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" />
</item>
<item
android:width="8dp"
android:height="8dp"
android:gravity="right|center_vertical">
<bitmap
android:src="@drawable/list_arrow"
/>
</item>
</layer-list>