我正在创建一个应用扩展AppCompatActivity
。但我有一个问题:
未显示涟漪效果
我做错了吗?谢谢
的Manifest.xml
<activity
android:name="com.example.MainActivity"
android:theme="@style/AppTheme.Toolbar"
android:screenOrientation="nosensor" android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
styles.xml
<style name="AppTheme.Toolbar" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/color_primary</item>
<item name="colorPrimaryDark">@color/color_primary_dark</item>
<item name="colorAccent">@color/color_accent</item>
</style>
MainActivity.java
public class MainActivity extends AppCompatActivity {
...
}
答案 0 :(得分:0)
我们需要做的第一件事是创建一个新的涟漪选择器,它将包含我们的旧(略微修改过的)全息选择器:
drawabale / ripple_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item android:id="@android:id/mask"
android:drawable="@drawable/xyz"/>
<item android:drawable="@drawable/xyz"/>
</ripple>
新的ripple xml标签描述了我们的纹波应该是什么样的。
android:color - 定义涟漪的颜色。
我的主题中的android:colorControlHighlight属性与我的主要强调色相匹配。这样,默认按钮的内置涟漪效果将获得相同的颜色。
id为@android的第一项:id / mask定义了我的涟漪的形状。如果我们不指定面具 - 形状将由所有其他leyers的形状决定。
现在我们可以使用这个drawable作为Buttons等的背景。
修改强>
为简单起见,请在drawable中创建它,并在Buttons等中用作背景。
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item android:drawable="?attr/colorPrimary"/>
</ripple>