2017-08-11 49 views
0

我試圖在LinearLayout中爲自定義TextView添加漣漪效果,但問題在於TextView的主要顏色是白色,但在應用漣漪後,TextView的顏色變化。我想首先TextView的背景顏色保持白色,觸摸時必須出現波紋顏色。 這裏是我的代碼:如何從自定義形狀中刪除漣漪效應半透明覆蓋

ripple.xml

<?xml version="1.0" encoding="utf-8" ?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
    android:color="#A9A9A9"> 
    <item> 
    <shape android:shape="rectangle" > 
    <solid android:color="#FFFFFF" /> 
    <corners 
     android:bottomRightRadius="0dp" 
     android:bottomLeftRadius="30dp" 
     android:topRightRadius="0dp" 
     android:topLeftRadius="30dp"/> 
    </shape> 
    </item> 
</ripple> 

main.xml中

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="80" 
    android:id="@+id/base_layout" 
    android:minWidth="25px" 
    android:minHeight="25px" 
    android:clickable="true"> 
    <TextView 
     android:text="What would you like to view?" 
     android:textColor="@android:color/white" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="right" 
     android:textAlignment="gravity" 
     android:id="@+id/selector_ask" 
     android:textSize="18sp" 
     android:paddingRight="6dp" 
     android:clickable="true" 
     android:layout_marginTop="32dp" /> 
    <TextView 
     android:text="News &amp; Events" 
     android:textColor="@color/material_grey_800" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:textAlignment="gravity" 
     android:id="@+id/selectorNews" 
     android:textSize="16sp" 
     android:layout_marginTop="20dp" 
     android:paddingTop="12dp" 
     android:paddingBottom="12dp" 
     android:background="@drawable/ripple" 
     android:backgroundTint="#FFFFFF" 
     android:layout_marginLeft="120dp" 
     android:clickable="true" 
     android:textAllCaps="true" 
     android:focusable="true" 
     android:focusableInTouchMode="true" 
     android:selectAllOnFocus="true" /> 

我嘗試使用機器人:ID = 「@機器人:ID /面具」,但沒有成功。我應該如何解決這個問題?

回答

0

即作出連鎖反應的一種方式,但試試這個簡單的方法:

android:foreground="?selectableItemBackgroundBorderless" 

將其添加到視圖你想上的連鎖反應,並刪除舊的波紋。

+0

這不適合我。按照您的說法,我將背景設置爲自定義和前景,但沒有成功 –