相关疑难解决方法(0)

如何使用支持库实现波纹动画?

我想在按钮点击上添加一个涟漪动画.我确实喜欢下面但它需要minSdKVersion到21.

ripple.xml

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="?android:colorAccent" />
        </shape>
    </item>
</ripple>
Run Code Online (Sandbox Code Playgroud)

按键

<com.devspark.robototextview.widget.RobotoButton
    android:id="@+id/loginButton"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/ripple"
    android:text="@string/login_button" />
Run Code Online (Sandbox Code Playgroud)

我想让它向后兼容设计库.

怎么做到这一点?

android material-design

165
推荐指数
5
解决办法
13万
查看次数

带支持库的FloatingActionButton示例

最近,我读了这些帖子:

Android设计支持库

Android支持库,修订版22.2.0

FloatingActionButton

但是,他们都没有给我一个关于创建新的详细示例FloatingActionButton.很难理解,我问这个问题.

谁能给我一个关于它的例子?

任何帮助都很值得赞赏.提前致谢.

编辑

我刚刚在FloatingActionButton(FAB)上发现了一些问题,我想改进另一个答案.请参阅下面的答案.

android android-support-library floating-action-button android-design-library

127
推荐指数
3
解决办法
17万
查看次数

Android的涟漪效应 - 按钮的触摸反馈 - 使用XML

我试图了解如何为按钮和其他视图实现"涟漪效应 - 触摸反馈".我查看了与SO上的Ripple触摸效果相关的问题,并对其进行了一些了解.我能够使用这个java代码成功获得涟漪效应.

import android.animation.ObjectAnimator;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RadialGradient;
import android.graphics.Region;
import android.graphics.Shader;
import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.animation.AccelerateInterpolator;
import android.widget.Button;

public class MyButton extends Button {

    private float mDownX;
    private float mDownY;

    private float mRadius;

    private Paint mPaint;

    public MyButton(final Context context) {
        super(context);
        init();
    }

    public MyButton(final Context context, final AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public MyButton(final Context context, final AttributeSet attrs,
            final int defStyle) { …
Run Code Online (Sandbox Code Playgroud)

xml android material-design rippledrawable android-5.0-lollipop

49
推荐指数
5
解决办法
9万
查看次数

Android:你有一个涟漪效应,其默认状态颜色是透明的吗?

像下面的东西,但它不起作用.如果我将可绘制颜色切换为蓝色,它可以工作.

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
    <item android:drawable="@android:color/transparent"/>
</ripple>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-view android-selector

23
推荐指数
1
解决办法
8981
查看次数

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

如何申请像连锁反应

我已将依赖项放在app/build.gradle中

应用程序/的build.gradle

dependencies {
    compile 'com.github.traex.rippleeffect:library:1.3'
}
Run Code Online (Sandbox Code Playgroud)

的build.gradle

allprojects{
    repositories{
        jcenter()
        maven(url "https://jitpack.io" }
Run Code Online (Sandbox Code Playgroud)

XML文件:

<com.andexert.library.RippleView
        android:id="@+id/rect1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
  <Button
      android:id="@+id/enterButton"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:text="Save your user name" />
 </com.andexert.library.RippleView>
Run Code Online (Sandbox Code Playgroud)

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();
            editor.putString(USER_NAME_STRING, string);
            editor.commit();

            startActivity(intent);

        }
    });
}
Run Code Online (Sandbox Code Playgroud)

它工作但我的问题是在涟漪效果完成之前打开另一个活动,当我按下后退按钮时剩余的涟漪完成.我该怎么解决?

android rippledrawable

16
推荐指数
3
解决办法
3万
查看次数