Пользовательский Android Spinner Layout Проблема - PullRequest
0 голосов
/ 13 мая 2019

Я настраиваю Android Spinner Widget.Я пытаюсь использовать разные цвета фона для элементов списка.Это работает, но когда в элементе управления счетчика больше элементов, элементы списка не занимают все пространство по горизонтали, поэтому во всплывающем окне отображаются пробелы.

Для небольшого количества элементов это работаетхорошо.

Я пробовал настраиваемые и стандартные настройки макета.

Код представления JAVA Custom Spinner

            @Override
        public View getView(int pos, View view, ViewGroup parent)
        {
            LayoutInflater objInflater = LayoutInflater.from(context);
            view                       = objInflater.inflate(R.layout.spinner_item_colored, null);


            LinearLayout llOption = (LinearLayout) view.findViewById(R.id.llOption);
            TextView tvOption     = (TextView) view.findViewById(R.id.tvOption);


            if (alDefects.get(pos).sNature.equalsIgnoreCase("1"))
                llOption.setBackgroundColor(getResources().getColor(R.color.majorDefect));

            else if (alDefects.get(pos).sNature.equalsIgnoreCase("2"))
                llOption.setBackgroundColor(getResources().getColor(R.color.criticalDefect));

            else
                llOption.setBackgroundColor(getResources().getColor(R.color.minorDefect));


            tvOption.setTextColor(getResources().getColor(R.color.white));
            tvOption.setText(alDefects.get(pos).sDefect);

            return view;
        }

Код XML:

<LinearLayout
android:id="@+id/llOption"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="1"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:layout_margin="0dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
    android:id="@+id/tvOption"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center_vertical|left"
    android:singleLine="false"
    android:textColor="#444444"
    android:textSize="13dp" />

Я хочу, чтобы всплывающее окно со спиннером использовало полную доступную ширину для цвета фона при наличии полосы прокрутки.

Пожалуйста, нажмите на эту ссылку, чтобы увидеть пример выходных данных

1 Ответ

0 голосов
/ 13 мая 2019

Когда вы используете вес, вы должны установить android:layout_width="0dp"

...