Android进阶之路

来源:互联网 发布:淘宝无线端收藏链接 编辑:程序博客网 时间:2024/06/16 13:14

看了几篇文章,文章所言要实现水波纹的效果需要最小编译版本为21,之前我只是认为5.0之后,手机会自带水波纹,明显有些错误

Effect :

这里写图片描述

build :

minSdkVersion 21

if (minSdkVersion 21 = true){
can user ripple
}

如上所诉sdk21之后,可以使用ripple,而ripple便是实现水波纹的一个关键,我们在drawable 创建一个xml ,以ripple为最外层

ripple_bg.xml :

<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android"    android:color="#FF21272B">    <item>        <shape android:shape="rectangle">            <solid android:color="#FFFFFF" />            <corners android:radius="4dp" />        </shape>    </item>    <!--下面这一行, 写不写貌似无所谓-->    <item android:drawable="@drawable/rounded_corners" /></ripple>

rounded_corners.xml(这个写不写,我觉得无所谓) :

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">    <solid android:color="#FFFFFF" />    <corners android:radius="4dp" /></shape>

MainActivity :

package com.example.dow.watereffect;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.TextView;public class MainActivity extends AppCompatActivity {    private TextView mBtn;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mBtn = (TextView) findViewById(R.id.tv_btn);        //如果不设置点击事件,水波纹是没有效果的        mBtn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {            }        });    }}

MainActivity Xml :

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.example.dow.watereffect.MainActivity">    <TextView        android:layout_centerInParent="true"        android:id="@+id/tv_btn"        android:background="@drawable/ripple_bg"        android:layout_width="match_parent"        android:padding="8dp"        android:layout_height="wrap_content"        android:gravity="center"        android:text="Sdk21才能用的水波纹?" /></RelativeLayout>