Articles of rippledrawable

棒棒糖上的Android按钮波纹和前棒棒糖上的突出显示

嗨,所以我很困惑,想知道是否有人能指出我正确的方向。 在Lollipop和pre-lollipop上使用Google Play商店 您将在棒棒糖上看到可选择的视图具有涟漪效应。 在pre-lollipo上,你会获得这种高光效果。 这是怎么做到的? 在我的应用程序中,我有一个包含此选择器的drawable-v21目录 它基本上是在我的背景上产生涟漪 但是,其他答案说要使用 机器人: “ATTR / selectableItemBackground” 背景= 要获得前棒棒糖的高光效果,但这会覆盖我的背景。 我怎么能在我目前的背景之上设置它? 我还必须为我的应用程序中的每种按钮创建一个波纹drawable(在drawble-v21中)吗? 我如何为回收商查看项目执行此操作? 是什么让这个问题与众不同 我不想要预先棒棒糖的涟漪我问的是开发者如何有效地使他们的按钮在棒棒糖上产生波纹并且对前部产生高光效果

Android Lollipop – 通知中的涟漪效应

我想在Android Lollipop的通知中为ImageView / ImageButton添加涟漪效果。 我看到这可以在Google Play音乐上播放。 但是,我在其他视图中使用的解决方案不适用于通知。 我在drawable-v21中创建了RippleDrawable 并将此drawable设置为ImageView的背景 但它根本行不通。 你有什么想法如何实现这种效果?

Spinner下拉项目彩色背景的涟漪效应(appcompat-v7 V21)

我试图对Spinner下拉项目应用涟漪效果,如下所示: activity.java ArrayAdapter adapter = ArrayAdapter.createFromResource( this, R.array.array_name, R.layout.simple_spinner_dropdown_item); adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item); Spinner mSpinner = (Spinner) findViewById(R.id.spinner); mSpinner.setAdapter(adapter); simple_spinner_dropdown_item.xml spinner_ripple.xml 但是在下拉列表中,它仅适用于第一个项目,并且仅当前选择的项目是第一个项目时的另一个项目 。 在所有其他情况下,它用波纹颜色填充背景项(没有涟漪效果)。 我的代码哪里错了? 已经尝试过 :无法在下拉项目布局的背景上设置固定颜色并在Spinner元素下移动涟漪效果,如下所示: simple_spinner_dropdown_item.xml activity_layout.xml

Android无限涟漪和背景

是否可以创建一个RippleDrawable来定义无界纹波并同时背景颜色? 我已经尝试了所有的东西,但是当我定义一个形状及其颜色时,纹波不再是无限的。 此页面中还有https://developer.android.com/reference/android/graphics/drawable/RippleDrawable.html ,没有关于在形状上添加无界纹波的参考。 我试过这个图层列表,但结果很糟糕 这就是我得到的

非按钮视图的Android涟漪效应+提升

我正在尝试将触摸反馈添加到LinearLayout,这类似于API级别21中的常规Button反馈,就像在此示例中一样,并且到目前为止还没有成功。 我已经定义了一个像这样的标准波纹可绘制: 并使用了Google 在此提供的StateListAnimator: 在定义animation师和波纹可绘制之后,我将它们添加到我的LinearLayout中,如下所示: 我的想法是使用这个LinearLayout作为一个按钮,因为我更容易插入各种types的文本并在其中处理ImageView定位(而不是按钮drawables)。 只要视图的背景根据此问题没有透明度,就可以单独添加涟漪效果或animation。 我不确定这是否是与上述问题相关的问题,但看到标准按钮设法同时采用波纹和高程animation反馈,我认为在其他视图中也可以实现这种效果。 任何洞察这个问题将不胜感激。

实现工具栏菜单项单击涟漪效果

我尝试使用padding来增加按钮的触摸区域。 我用 点击区域是放大的。 但是, selectableItemBackgroundBorderless点击效果不再显示为完美的圆圈。 我尝试使用duplicateParentState技术来克服。 现在, 点击区域被放大。 selectableItemBackgroundBorderless圆圈效果是一个完美的圆圈。 然而,它似乎有一些奇怪的行为。 当我单击ImageButton的实际区域时,不显示圆按效果。 我可以知道为什么会这样,我怎么能克服它? 我使用API​​ 26进行了测试。 注意,我试图避免使用TouchDelegate技术,除非我被迫,因为它使我们的代码更复杂。 附加信息 以下是Toolbar按钮显示的正确行为。 点击区域位于按钮外部时会显示波纹效果 当点击区域在按钮内时,会显示波纹效果 但是,我不知道他们是如何实现这种行为的。

禁用ListView上的Ripple

在Android 5.0中,单击列表项时,我的ListView会产生涟漪效应。 有没有办法禁用这种效果? 看看文档,我没有看到任何方式( https://developer.android.com/reference/android/widget/ListView.html )

选择导航视图+选择器+涟漪效果状态不起作用

我搜索了所有的东西并进行了实验,但没有幸运的是NavigationView 。 itemIconTint , itemTextColor和itemBackground使用ripple效果。 但问题是state selected不适用于selector drawable 我还创建了drawable-v21并放入了ripple_navigation_selector.xml 我的目标是当再次打开抽屉时,之前选择的项目应为黄色,例如。 通知项目 在main_layout.xml中的NavigationView 在drawable-v21 ripple_navigation_selector.xml 在drawable-v21 navigation_selector.xml 颜色字符串名为left_light_yellow #F6CE20

找不到类’android.graphics.drawable.RippleDrawable’

我正在使用第三方库,有一个方法使用DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_IN); 。 当我在Android 5.0 +中测试我的应用程序时,没有问题并且工作得很好。但是当它涉及到android 4.4.4时,它抛出了一个exception: 05-09 13:15:15.030 26447-26447/com.wizchen.athit E/AndroidRuntime: FATAL EXCEPTION: main Process: com.wizchen.athit, PID: 26447 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.wizchen.athit/com.wizchen.athit.view.activity.MainActivity}: java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2271) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2320) at android.app.ActivityThread.access$800(ActivityThread.java:138) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1269) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5117) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException at […]

在使用Android 5.0设备的CardView上,使用selectableItemBackground作为前景的涟漪未显示

我在Nexus 5上运行它。这是我的CardView代码的一部分: CardView cardView = new CardView(getActivity()); cardView.setRadius(4); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 400); lp.setMargins(32, 16, 32, 16); cardView.setLayoutParams(lp); cardView.setContentPadding(50, 50, 50, 50); … cardView.setForeground(selectedItemDrawable); 这是我如何获得selectedItemDrawable: int[] attrs = new int[] { R.attr.selectableItemBackground }; TypedArray ta = getActivity().obtainStyledAttributes(attrs); selectedItemDrawable = ta.getDrawable(0); ta.recycle(); 当我点击卡片时,应该出现与selectedItemDrawable一起出现的波纹(它看起来与没有前景设置完全相同)。 我正在运行5.0,所以这看起来很奇怪,因为appcompat文档只说它不适用于pre-Lollipop设备。 有人知道为什么会这样吗? 最低API级别为16,目标为21。