Невозможно добавить волновой эффект в TextView, используя передний план selectableItemBackground

avatar
Khemraj Sharma
8 апреля 2018 в 09:07
1534
1
0

Я попытался добавить волновой эффект к моему TextView, используемому в качестве кнопки с темным фоном.

Я уже пробовал

  1. android:foreground="?attr/selectableItemBackground" в TextView
  2. android:theme="@style/Base.ThemeOverlay.AppCompat.Dark" на родительском элементе TextView, потому что Textview имеет темный фон, также пробовал светлую тему.

Также я не могу установить фон TextView как android:background="attr/selectableItemBackground, потому что мне нужен темный фон для просмотра текста.

Может ли кто-нибудь объяснить мне, как я могу выполнить это требование.

Источник

Ответы (1)

avatar
ADM
8 апреля 2018 в 09:13
1

Проблема с темной темой. Цвет ряби не виден в темноте. Поэтому вам следует попробовать использовать пользовательскую тему с .

.
  <style name="TextViewTheme" parent="@style/Base.ThemeOverlay.AppCompat.Dark">
    <!-- Customize your theme here. -->
    <item name="colorControlHighlight">@color/colorAccent</item>
</style>

Добавить эту тему для TextView.

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="@android:color/holo_green_dark"
    android:foreground="?android:selectableItemBackground"
    android:text="Android"
    android:theme="@style/TextViewTheme"
    android:clickable="true"
    android:textSize="23sp"/>
Khemraj Sharma
8 апреля 2018 в 09:35
0

Чувак, до сих пор не видно волнового эффекта.

ADM
8 апреля 2018 в 09:47
0

Вы поставили Click listener? Потому что я проверил это, и это работает.

Khemraj Sharma
8 апреля 2018 в 09:58
0

Да, я использую это текстовое представление как кнопку

Khemraj Sharma
8 апреля 2018 в 09:59
0

Кстати, это работает, когда я устанавливаю selectableitembackground в качестве фона текстового просмотра, но в этом случае я не могу установить свой собственный цвет фона.

ADM
8 апреля 2018 в 10:00
0

Он также будет работать для Button. Прочитайте ответ. Я не ставил selectableitembackground, так как background я использовал цвет в качестве фона.

Khemraj Sharma
8 апреля 2018 в 10:03
0

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

ADM
8 апреля 2018 в 10:04
0

И какого цвета colorControlHighlight в стиле?

ADM
8 апреля 2018 в 10:07
0

Его протестировали. Что-то не так с вашим подходом. Посмотрите, работает ли TextView Onclick или нет. Также добавьте запись стиля в v-21

Khemraj Sharma
8 апреля 2018 в 10:09
0

Мое приложение завершено, поэтому все клики работают, я просто добавлял некоторые эффекты в приложение, поэтому мне нужно было это сделать. Также я не думаю, что selectableItemBackground нужно переопределять в v-21, для этого нужны только атрибуты пульсации.

Khemraj Sharma
8 апреля 2018 в 10:10
0

В итоге я использовал родительское представление с красным фоном и использовал selectableItemBackground в качестве фона текстового представления.

ADM
8 апреля 2018 в 10:11
0

selectableItemBackground не обязательно. colorControlHighlight это .

Khemraj Sharma
8 апреля 2018 в 10:25
0

Давайте продолжим обсуждение в чате.