2016-10-25 7 views
-1

Я пытаюсь создать TextView как spinner в моем приложении, чтобы он выглядел как прядильщик, но позволяет мне легко показать настраиваемое диалоговое окно для редактирования значения ,Стиль TextView как материальный стиль Spinner на уровне API 19

Я использую следующие в моем макета XML:

<TextView 
    style="?android/spinnerStyle" 
    ... 
/> 

Все работы, как ожидается, на Android 5 эмулятора. Мои TextView и другие Spinner s выглядят одинаково. Они проявляют Litte вниз стрелку справа:

The material spinner arrow

Однако, когда я запускаю тот же самый код в Android 4.4 эмулятор, то Spinner s все еще выглядеть выше (потому что я использую библиотеку поддержки в самой последней версии), но TextView выглядит как Android 4.4 блесны:

Old non-material spinner style

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

У меня есть вопрос: есть ли способ рассказать TextView использовать стиль Spinner AppCompat также? Если да, то как я могу это сделать?

+0

Вы используете библиотеку поддержки? –

+0

@ PankajKumar Да. Извините за то, что я не понял этого вопроса, я буду редактировать. –

+0

Было бы очень интересно услышать, почему этот вопрос был опущен ... –

ответ

0

Кажется, я нашел accidentially стили себя. Следующее предоставляется верстка:

<TextView 
    style="@style/Base.Widget.AppCompat.Spinner" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textAppearance="@style/TextAppearance.AppCompat.Widget.TextView.SpinnerItem" 
    android:paddingStart="8dp" 
    android:paddingEnd="8dp" 
/> 
3

enter image description here
Вы можете использовать этот стиль после загрузки значка нижнего треугольника и добавить его в качестве актива к вашему вводимому коэффициенту, U может отрегулировать запас в соответствии с вашими требований в относительной компоновке и TextView.

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

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="#D3D3D3" 
    android:layout_margin="10dp"> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:drawableRight="@drawable/ic_sort_down" 
     android:layout_margin="10dp"/> 
</RelativeLayout> 
+0

Собственно, это не совсем то, что я хочу. См. Мой собственный ответ. –

Смежные вопросы