SkillAgentSearch skills...

AndroidView

Android开发必备偷懒神器之比例控件(正方形、比例矩形)、点击效果(水波纹、滤镜)、Selector(CheckBox,RadioButton)、shape(圆角、ImageView圆角、画线、边

Install / Use

/learn @AnJiaoDe/AndroidView
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

简书_https://www.jianshu.com/p/fa5f5cb3edd1

APKdemo_https://github.com/AnJiaoDe/AndroidNecessaryView/blob/master/app/build/outputs/apk/app-debug.apk

@[toc]

使用方法:将libray模块复制到项目中,或者直接在build.gradle中依赖:

allprojects {
		repositories {
			
			maven { url 'https://jitpack.io' }
		}
	}
dependencies {
	                  compile 'com.github.AnJiaoDe:AndroidNecessaryView:V1.0.1'



	}

注意:如果sync报错,是因为和com.android.tools.build:gradle 3.0有关, 可以改将compile改为implementation 或者api 注意:水波纹效果,5.0及以上才有效,需要设置点击事件监听器,才能看到

1.控件点击效果(水波纹、图片滤镜)免去Selector和一个按钮2张图片的麻烦

在这里插入图片描述 ClickImageView点击效果有滤镜和波纹2种,默认是滤镜,你可以设置为波纹效果 使用方法:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_click"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#eee"
    android:orientation="vertical"
    android:padding="10dp">

    <!--默认水波纹-->

    <com.cy.necessaryview.rippleview.ClickFrameLayout
        android:id="@+id/rpfl"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:background="#fff" />

    <!--自定义水波纹颜色-->
    <com.cy.necessaryview.rippleview.ClickFrameLayout
        android:id="@+id/rpfl2"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_marginTop="10dp"
        android:background="#99ff0000"

        app:colorRipple="#fff" />

    <!--设置imageview水波纹,默认是超过边界-->
    <com.cy.necessaryview.rippleview.ClickImageView
        android:id="@+id/civ1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:padding="10dp"
        android:scaleType="centerInside"
        android:src="@drawable/after_sale_icon"
        app:haveRipple="true" />

    <!--设置imageview水波纹,设置不超过边界-->
    <com.cy.necessaryview.rippleview.ClickImageView
        android:id="@+id/civ2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:padding="10dp"
        android:scaleType="centerInside"
        android:src="@drawable/after_sale_icon"
        app:haveRipple="true"
        app:rippleOver="false" />
    <!--imageview,点击效果默认是滤镜-->
    <com.cy.necessaryview.rippleview.ClickImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:padding="10dp"
        android:scaleType="centerInside"
        android:src="@drawable/after_sale_icon" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <!--imageview,默认滤镜效果-->
        <com.cy.necessaryview.rippleview.ClickImageView
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_marginTop="10dp"
            android:scaleType="centerCrop"
            android:src="@drawable/hg" />

        <!--imageview,自定义亮度-->
        <com.cy.necessaryview.rippleview.ClickImageView
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"
            android:scaleType="centerCrop"
            android:src="@drawable/hg"
            app:lightNumber="100" />

        <!--imageview,这是点击变亮-->
        <com.cy.necessaryview.rippleview.ClickImageView
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"

            android:scaleType="centerCrop"
            android:src="@drawable/hg"
            app:lightOrDark="true" />
    </LinearLayout>

</LinearLayout>

2.比例控件(默认是正方形,还可以自定义比例,继承自水波纹控件,默认有点击效果)

在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_rectangle"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="10dp">
    <com.cy.necessaryview.rectangleview.RectangleImageView
        android:id="@+id/riv"
        android:layout_width="50dp"
        android:layout_height="wrap_content"
        android:scaleType="centerCrop"
        android:src="@drawable/hg" />

    <com.cy.necessaryview.rectangleview.RectangleLinearLayout

        android:layout_width="100dp"
        android:layout_height="100000dp"
        android:layout_marginTop="10dp"
        android:background="#f00">

    </com.cy.necessaryview.rectangleview.RectangleLinearLayout>

    <com.cy.necessaryview.rectangleview.RectangleRelativeLayout

        android:layout_width="50dp"
        android:layout_height="100000dp"
        android:layout_marginTop="10dp"
        android:background="#f78900"
        app:heightWidthRatio="1.7">

    </com.cy.necessaryview.rectangleview.RectangleRelativeLayout>


    <com.cy.necessaryview.rectangleview.RectangleLinearLayout

        android:layout_width="wrap_content"
        android:layout_height="10000dp"
        android:layout_marginTop="10dp"

        android:background="#ff0">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="即热晶体管" />
    </com.cy.necessaryview.rectangleview.RectangleLinearLayout>

    <!--上面全是以宽为基准,下面全是以高为基准-->
    <com.cy.necessaryview.rectangleview.RectangleFrameLayout

        android:id="@+id/rfl"
        android:layout_width="103330dp"
        android:layout_height="50dp"
        android:layout_marginTop="10dp"

        android:background="#ff6990"
        app:baseOnWidthOrHeight="false">

    </com.cy.necessaryview.rectangleview.RectangleFrameLayout>

    <com.cy.necessaryview.rectangleview.RectangleLinearLayout

        android:layout_width="10000dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"

        android:background="#00789f"

        app:baseOnWidthOrHeight="false">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="即热晶\n体管\n近日刚进\n入提\n货价h\nit\n\n好几天假hi" />
    </com.cy.necessaryview.rectangleview.RectangleLinearLayout>
</LinearLayout>

3.各种shape背景(圆角,画线,虚线、渐变、边框、圆形、椭圆,继承自水波纹控件,默认有点击效果)

在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_round"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#eee"
    android:orientation="horizontal"
    android:padding="5dp">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <!--圆角+填充色-->
        <com.cy.necessaryview.shapeview.RecShapeFrameLayout
            android:layout_width="100dp"
            android:id="@+id/rsf"
            android:layout_height="40dp"
            app:colorFill="#fff"
            app:radiusCorner="18dp">

        </com.cy.necessaryview.shapeview.RecShapeFrameLayout>

        <!--设置了background,没有设置填充色,圆角失效-->
        <com.cy.necessaryview.shapeview.RecShapeFrameLayout
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_marginTop="5dp"
            android:background="#678798"
            app:radiusCorner="5dp">

        </com.cy.necessaryview.shapeview.RecShapeFrameLayout>


        <!--设置填充色,圆角才生效-->
        <com.cy.necessaryview.shapeview.RecShapeFrameLayout
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginTop="5dp"
            android:background="#f00"

            app:colorFill="#956890"
            app:radiusCorner="5dp">

        </com.cy.necessaryview.shapeview.RecShapeFrameLayout>

        <!--四个角的弧度-->
        <com.cy.necessaryview.shapeview.RecShapeFrameLayout
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginTop="5dp"
            app:colorFill="#456440"
            app:radiusBottomLeft="40dp"
            app:radiusBottomRight="30dp"

            app:radiusTopLeft="10dp"
            app:radiusTopRight="20dp">

        </com.cy.necessaryview.shapeview.RecShapeFrameLayout>

        <!--设置了4个圆角弧度,设置了radiusCorner,radiusCorner优先级更高-->
        <com.cy.necessaryview.shapeview.RecShapeFrameLayout
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginTop="5dp"
            app:colorFill="#943440"
            app:radiusBottomLeft="40dp"
            app:radiusBottomRight="30dp"

            app:radiusCorner="5dp"
            app:radiusTopLeft="10dp"
            app:radiusTopRight="20dp">

        </com.cy.necessaryview.shapeview.RecShapeFrameLayout>

        <!--线性渐变,默认从左到右-->
        <com.cy.necessaryview.shapeview.RecShapeFrameLayout
           
View on GitHub
GitHub Stars33
CategoryDevelopment
Updated17d ago
Forks9

Languages

Java

Security Score

75/100

Audited on Mar 19, 2026

No findings