Articles of rippledrawable

创建一个没有透明度的波纹绘制

关于如何正确使用Ripple Drawable,我有点迷茫。 假设我有这个可绘制的: 因此它是一个纯白色的背景,在聚焦或按下时会变成浅蓝色。 如何获得相同的颜色但具有涟漪效果? 我想我需要使用一个掩码来防止它超出视图范围?

以编程方式创建的RippleDrawable与其xml对应物看起来不同

我一直试图追踪这个问题一段时间了。 我想我前段时间find了解释。 不幸的是,它丢失了代码注释。 我正在尝试用Java创建一个Material Borderless-Button 。 首先,这是按钮在框架中的样子: 按钮bg( button_borderless_material.xml ): drawable用作掩码( btn_default_mtrl_shape.xml ): Java等效的inset-drawable ( btn_default_mtrl_shape.xml ): Drawable createButtonShape(Context context, int color) { Resource res = context.getResources(); int radius = res .getDimensionPixelSize(R.dimen.control_corner_material); int paddingH = res .getDimensionPixelSize(R.dimen.button_padding_horizontal_material); int paddingV = res .getDimensionPixelSize(R.dimen.button_padding_vertical_material); int insetH = context.getResources() .getDimensionPixelSize(R.dimen.button_inset_horizontal_material); int insetV = res .getDimensionPixelSize(R.dimen.button_inset_vertical_material); float[] outerRadii = […]

如何为前棒棒糖创造涟漪效应

如何应用这样的涟漪效应 我已将依赖项放在app / build.gradle中 应用程序/的build.gradle dependencies { compile ‘com.github.traex.rippleeffect:library:1.3’ } 的build.gradle allprojects{ repositories{ jcenter() maven(url “https://jitpack.io” } XML文件: Java类文件 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.save_user); editText=(EditText) findViewById(R.id.userNameEditText); button=(Button) findViewById(R.id.enterButton); sharedPreferences=getSharedPreferences(SHARED_NAME_STRING, MODE_PRIVATE); String userNameString=sharedPreferences.getString(USER_NAME_STRING, “”); editText.setText(userNameString); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String string=editText.getText().toString(); Intent intent=new Intent(SaveUser.this, MainActivity.class); intent.putExtra(“user”, string); SharedPreferences.Editor editor=sharedPreferences.edit(); […]

涟漪效应有时不会出现

我定义了一个波纹drawable并将其设置为listview项目视图背景的背景。 它几乎可以正常工作,但有时涟漪效应并没有出现在印刷机上。 这是波纹可绘制代码: 我有一个导航抽屉,使用这个抽屉作为抽屉项目的背景: …. 但是,每次打开应用程序时,默认选中的项目在按下时都不会显示涟漪效果。 但是在我选择另一个项目然后再次选择它之后,一切都会好起来的。 我对另一个几乎相同的ListView使用完全相同,除了选择模式是多个。 而这一次,只要选中它们,项目就不会显示出按下时的涟漪效应。 在另一个未指定选择模式的listView中,只有第一个项目显示涟漪效应,而其他项目的行为与较低的Android版本相同。 我真的不知道如何让它适用于所有场景。 也许它真的与ListView的选择模式有关? ==== 编辑 ==== 我刚刚为所有这三个listView添加了属性drawSelectorOnTop,现在清除了前两个问题。 然而对于第三个,它现在变成这样: 涟漪效果对所有项目都有效,除了第一个显示两个涟漪的项目! 其中一个从我的手指按下的位置开始,而另一个始终从中间开始! ==== 再次编辑 ====好了,现在我调整drawable将激活状态移到ripple节点之外,再与listview的drawSelectorOnTop属性一起,问题现在完全消失了。

Android:与RippleEffect和StateListAnimator

我有一个布局,包括另一个布局: 我需要在包含的布局中添加一个RippleEffect和一个StateListAnimator。 例: RippleEffect和StateListAnimator都可以100%运行。 我不能改变包含的布局。 因此,我需要对include标签或父布局本身进行效果。 我尝试了两种技术,但都没有成功。 UPDATE 如果可能,这应该以编程方式关闭。 更新2 其次,一旦animation, 我将如何保持视图boost ?

如何触发Android Lollipop上的涟漪效应,在视图中的特定位置,而不触发触摸事件?

这是一个简短的问题: 假设我有一个以RippleDrawable为背景的View 。 是否有一种简单的方法可以触发特定位置的纹波而不会触发任何触摸或点击事件?

AppCompatButton backgroundTint API <21

我想在Buttons上使用涟漪效果。 AppCompat v22.1为AppCompat着色添加了AppCompatButton和新function。 我的布局: 在我的API 22测试设备上,涟漪效应完美无缺,但我正在编写API 11,不幸的是,backgroundTint需要API> = 21.如何在旧API版本上将涟漪效果设置为按钮?

在ImageButton外部实现Ripple效果

我正在尝试为ImageButton实现涟漪效果。我已经在src中设置了背景中的波纹和src中的可绘制图像。 android:background=”@drawable/myripplexml” android:src=”@drawable/myimagepath” 它在按钮布局中给出了很好的涟漪效果。 但是我希望Ripple效果也能扩展到Button Layout之外。另一种方法是使用: android:background=”?android:attr/selectableItemBackgroundBorderless” 但它使用默认颜色和样式。 如何在颜色,形状和尺寸方面进行自定义?

在形状的波纹有透明背景

我在我的应用程序中使用以下形状 它在我的drawable文件夹中。 现在我将我的应用程序更新为Lollipop,我希望对我使用的圆形按钮给出反馈。 所以在drawable-v21文件夹中我把它改成了一个涟漪选择器: 但遗憾的是,在Lollipop中使用上述drawable不会产生涟漪效应。 是因为 ? 谁能告诉我哪里出错了? 谢谢

如何处理9-patch和CardView上的Ripple效果,并控制选择器的状态?

背景 我希望为Android Lollipop及更高版本的listView项添加一个简单的涟漪效果。 首先,我想将它设置为简单的行,然后设置为9个补丁行甚至是CardView。 问题 我确信这个会很容易,因为它甚至不需要我定义普通选择器。 即使对于简单的行,我也没有这样做。 出于某种原因,涟漪效应超出了行的边界: 不仅如此,在某些情况下,物品的背景会卡在我设定的颜色上。 代码 这就是我尝试过的: MainActivity.java public class MainActivity extends ActionBarActivity { @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ListView listView = (ListView) findViewById(android.R.id.list); final LayoutInflater inflater = LayoutInflater.from(this); listView.setAdapter(new BaseAdapter() { @Override public View getView(final int position, final View convertView, final ViewGroup parent) { View […]