我有这样的看法
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:background="@drawable/ripple"
android:layout_centerVertical="true"
android:layout_alignParentStart="true" />
和涟漪.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="@android:color/white" />
</ripple>
一切正常。当我触摸视图时,它会产生波纹效果。我正在寻找的是从代码中反复在视图上启动波纹动画。将其显示为不确定的进度。因此,海浪不断荡漾。
就像是
Runnable runnable = new Runnable() {
@Override
public void run() {
RippleDrawable drawable = (RippleDrawable) button.getBackground();
drawable.showRipples(true, true); // <-- This is needed
handler.postDelayed(runnable, 500);
}
};
这该怎么做?
RippleDrawable
响应压力和聚焦状态,前者提供您要查找的波纹动画。您可以使用来在主机视图上切换按下状态View.setPressed(boolean)
。
Runnable pressRunnable = new Runnable() {
@Override
public void run() {
button.setPressed(true);
button.postOnAnimationDelayed(unpressRunnable, 250);
}
};
Runnable unpressRunnable = new Runnable() {
@Override
public void run() {
button.setPressed(false);
button.postOnAnimationDelayed(pressRunnable, 250);
}
};
请记住,用户触摸Button
切换按钮也会切换按下状态,因此您可能想要删除或重新发布可运行项OnTouchListener
。
如果需要,您可以Drawable.setHotspot(float, float)
在API
22+上使用或View.dispatchDrawableHotspotChanged(float, float)
通过传递视图相对(x, y)
坐标来控制波纹位置。
问题内容: 我想将背景设置为。使用XML时没有问题(有效) …但是我必须在Java代码中执行此操作,因此我已经尝试过 …而且它不起作用,实际上我在第二行得到了一个。因此,在尝试了这种变体之后,我认为资源是一种颜色。 这个没有启动异常,但是…不起作用(按下时背景没有变化,但是按下时状态必须改变)…有什么建议吗? 问题答案: 您可以使用这种方式。
波纹效果是一个外部库,主要用于实现 Material Design 中的点击效果。 应用波纹效果 给按钮添加波纹效果,你只要将 waves-effect 类放到按钮中。如果你想这个波纹效果更白,增加 waves-effect waves-light 作为按钮的类。 <a class="waves-effect waves-light btn-large" href="#">Wave</a> 自定
问题内容: 注意1: 此问题与在更新的表视图之外添加UISearchController的搜索栏有关,而不是作为表视图的标题。 注意2: 一些反复试验使我找到了解决方案。 我是iOS开发的新手,正在努力使用UISearchController类。我有一个视图控制器,在我的视图控制器视图中,我计划在表格视图上方有一个搜索栏。我希望搜索栏链接到UISearchController。由于接口生成器没有U
问题内容: 首先,我已经看到了该线程。我尝试了那里给出的可接受的方法。 我的应用程序中有两个屏幕。 第一个有2个EditText,一个是用户名,另一个是密码 第二个有一个ListView和一个EditText-过滤listView 在我的第一个屏幕中,我希望用户名EditText专注于启动,并且Keyboard应该可见。这是我的实现(通过删除不必要的/不相关的代码进行简化)。 app_login.
本文向大家介绍Android实现水波纹效果,包括了Android实现水波纹效果的使用技巧和注意事项,需要的朋友参考一下 一、效果 点击开始: 点击停止: 二、在MainActivity中 三、在activity_main中 四、在WaveView中: 五、在CircleImageView中: 六、在attrs中 以上所述是小编给大家介绍的Android实现水波纹效果,希望对大家有所帮助,如
我的目标是根据用户是否登录显示不同的第一页。登录检查使用同步Ajax调用进行,其结果决定是显示登录对话框还是显示第一个用户页面。 执行此操作的正常方法是设置,然后以编程方式初始化,如本问题的答案中所述。由于某种原因,这不起作用,而是每次都会加载另一个页面。 我决定放弃这种方式,尝试不同的方案。我现在使用一个占位符,空的启动页面,只要登录检查需要,就应该显示该页面。登录检查后,它应该会自动更改。这是