Индивидуальный Spinner выглядит по-разному на разных устройствах - PullRequest
0 голосов
/ 08 ноября 2018

Мое требование состоит в том, чтобы создать собственный счетчик, и я успешно могу создать счетчик, но счетчик выглядит по-разному на разных устройствах.

В эмуляторе и большинстве устройств это выглядит следующим образом enter image description here

, что правильно, но в некоторых устройствах это выглядит следующим образом

enter image description here

Просто хочу пояснить, что моя минимальная 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>
...