Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
Fizzzzer committed May 26, 2023
2 parents 9e706de + 0528a05 commit bc17183
Show file tree
Hide file tree
Showing 13 changed files with 231 additions and 61 deletions.
14 changes: 14 additions & 0 deletions FizzerBaseLib/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
id 'maven-publish'
}

android {
Expand Down Expand Up @@ -29,6 +30,19 @@ android {
}
}

afterEvaluate{
publishing{
publications{
release(MavenPublication){
from components.release
groupId = 'com.fizzer'
artifactId = 'baselib'
version = '1.2.0'
}
}
}
}

dependencies {

implementation 'androidx.core:core-ktx:1.7.0'
Expand Down
1 change: 0 additions & 1 deletion FizzerBaseLib/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fizzer.base.lib">

</manifest>
14 changes: 14 additions & 0 deletions FizzerWidget/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
id 'maven-publish'
}

android {
Expand Down Expand Up @@ -29,6 +30,19 @@ android {
}
}

afterEvaluate{
publishing{
publications{
release(MavenPublication){
from components.release
groupId = 'com.fizzer'
artifactId = 'widget'
version = '1.2.0'
}
}
}
}

dependencies {

implementation 'androidx.core:core-ktx:1.7.0'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,56 +1,59 @@
package com.fizzer.widget

import android.content.Context
import android.graphics.*
import android.graphics.drawable.ColorDrawable
import android.util.AttributeSet
import androidx.cardview.widget.CardView

/**
* Author:Fizzer
* Date:10/02/2022
* Email:Fizzer@miaoshitech.com
* Description:可以指定CardView的圆角
*/
class RadiusCardView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null
) : CardView(context, attrs) {

private var tlRadius: Float = 0f
private var trRadius: Float = 0f
private var blRadius: Float = 0f
private var brRadius: Float = 0f

init {
radius = 0f
var ta = context.obtainStyledAttributes(attrs, R.styleable.RadiusCardView)
ta.let {
tlRadius = it.getDimension(R.styleable.RadiusCardView_rcv_topLeftRadiu, 0f)
trRadius = it.getDimension(R.styleable.RadiusCardView_rcv_topRightRadiu, 0f)
blRadius = it.getDimension(R.styleable.RadiusCardView_rcv_bottomLeftRadiu, 0f)
brRadius = it.getDimension(R.styleable.RadiusCardView_rcv_bottomRightRadiu, 0f)
it.recycle()
}
background = ColorDrawable()
}

fun getRectF(): RectF {
var rect = Rect()
getDrawingRect(rect)
return RectF(rect)
}

override fun onDraw(canvas: Canvas?) {
var path = Path()
var rectf = getRectF()
var radius = floatArrayOf(
tlRadius, tlRadius,
trRadius, trRadius,
brRadius, brRadius,
blRadius, blRadius
)
path.addRoundRect(rectf, radius, Path.Direction.CW)
canvas?.clipPath(path, Region.Op.INTERSECT)
super.onDraw(canvas)
}
package com.fizzer.widget.view

import android.annotation.SuppressLint
import android.content.Context
import android.graphics.*
import android.graphics.drawable.ColorDrawable
import android.util.AttributeSet
import androidx.cardview.widget.CardView
import com.fizzer.widget.R

/**
* Author:Fizzer
* Date:10/02/2022
* Email:Fizzer@miaoshitech.com
* Description:可以指定CardView的圆角
*/
class RadiusCardView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null
) : CardView(context, attrs) {

private var tlRadius: Float = 0f
private var trRadius: Float = 0f
private var blRadius: Float = 0f
private var brRadius: Float = 0f

init {
radius = 0f
val ta = context.obtainStyledAttributes(attrs, R.styleable.RadiusCardView)
ta.let {
tlRadius = it.getDimension(R.styleable.RadiusCardView_rcv_topLeftRadius, 0f)
trRadius = it.getDimension(R.styleable.RadiusCardView_rcv_topRightRadius, 0f)
blRadius = it.getDimension(R.styleable.RadiusCardView_rcv_bottomLeftRadius, 0f)
brRadius = it.getDimension(R.styleable.RadiusCardView_rcv_bottomRightRadius, 0f)
}
ta.recycle()
background = ColorDrawable()
}

private fun getRectF(): RectF {
val rect = Rect()
getDrawingRect(rect)
return RectF(rect)
}

@SuppressLint("DrawAllocation")
override fun onDraw(canvas: Canvas?) {
val path = Path()
val rectf = getRectF()
val radius = floatArrayOf(
tlRadius, tlRadius,
trRadius, trRadius,
brRadius, brRadius,
blRadius, blRadius
)
path.addRoundRect(rectf, radius, Path.Direction.CW)
canvas?.clipPath(path)
super.onDraw(canvas)
}
}
8 changes: 4 additions & 4 deletions FizzerWidget/src/main/res/values/attrs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
<!-- 自定义圆角CardView的属性 -->
<declare-styleable name="RadiusCardView">
<!-- 左上圆角大小-->
<attr name="rcv_topLeftRadiu" format="dimension" />
<attr name="rcv_topLeftRadius" format="dimension" />
<!-- 右上圆角大小-->
<attr name="rcv_topRightRadiu" format="dimension" />
<attr name="rcv_topRightRadius" format="dimension" />
<!-- 右下圆角大小-->
<attr name="rcv_bottomRightRadiu" format="dimension" />
<attr name="rcv_bottomRightRadius" format="dimension" />
<!-- 左下圆角大小-->
<attr name="rcv_bottomLeftRadiu" format="dimension" />
<attr name="rcv_bottomLeftRadius" format="dimension" />
</declare-styleable>
<declare-styleable name="CircleProgressBar">
<!-- 圆环半径 -->
Expand Down
10 changes: 9 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,18 @@
</intent-filter>
</activity>

<activity android:name=".widget.WidgetPage" />
<activity
android:name=".widget.WidgetPage"
android:label="WidgetPage" />
<activity
android:name=".widget.CircleProgressBarPage"
android:label="CircleProgressBar" />
<activity
android:name=".lib.LibPage"
android:label="LibPage" />
<activity
android:name=".widget.RadiusCardViewPage"
android:label="RadiusCardViewPage" />
</application>

</manifest>
5 changes: 5 additions & 0 deletions app/src/main/java/com/fizzer/lib/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.fizzer.base.lib.ext.clickWithTrigger
import com.fizzer.lib.databinding.ActivityMainBinding
import com.fizzer.lib.lib.LibPage
import com.fizzer.lib.widget.WidgetPage

class MainActivity : AppCompatActivity() {
Expand All @@ -22,5 +23,9 @@ class MainActivity : AppCompatActivity() {
binding.widget.clickWithTrigger {
startActivity(Intent(this, WidgetPage::class.java))
}

binding.lib.clickWithTrigger {
startActivity(Intent(this, LibPage::class.java))
}
}
}
27 changes: 27 additions & 0 deletions app/src/main/java/com/fizzer/lib/lib/LibPage.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.fizzer.lib.lib

import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.fizzer.base.lib.ext.clickWithTrigger
import com.fizzer.lib.databinding.ActivityLibPageBinding

class LibPage : AppCompatActivity() {

private lateinit var binding: ActivityLibPageBinding

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityLibPageBinding.inflate(layoutInflater)
setContentView(binding.root)

initEvent()
}

private fun initEvent(){

binding.openAirMode.clickWithTrigger { }
binding.closeAirMode.clickWithTrigger { }
binding.getAirMode.clickWithTrigger { }
}
}
14 changes: 14 additions & 0 deletions app/src/main/java/com/fizzer/lib/widget/RadiusCardViewPage.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.fizzer.lib.widget

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.fizzer.lib.databinding.ActivityRadiusCardPageBinding

class RadiusCardViewPage : AppCompatActivity() {
private lateinit var binding: ActivityRadiusCardPageBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityRadiusCardPageBinding.inflate(layoutInflater)
setContentView(binding.root)
}
}
4 changes: 4 additions & 0 deletions app/src/main/java/com/fizzer/lib/widget/WidgetPage.kt
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,9 @@ class WidgetPage : AppCompatActivity() {
binding.circleProgressBar.clickWithTrigger {
startActivity(Intent(this, CircleProgressBarPage::class.java))
}

binding.roundCardView.clickWithTrigger {
startActivity(Intent(this, RadiusCardViewPage::class.java))
}
}
}
30 changes: 30 additions & 0 deletions app/src/main/res/layout/activity_lib_page.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<androidx.appcompat.widget.AppCompatButton
android:id="@+id/openAirMode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开启飞行模式"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<androidx.appcompat.widget.AppCompatButton
android:id="@+id/closeAirMode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关闭飞行模式"
app:layout_constraintStart_toEndOf="@id/openAirMode"
app:layout_constraintTop_toTopOf="@id/openAirMode" />

<androidx.appcompat.widget.AppCompatButton
android:id="@+id/getAirMode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="获取飞行模式状态"
app:layout_constraintStart_toEndOf="@id/closeAirMode"
app:layout_constraintTop_toTopOf="@id/closeAirMode" />
</androidx.constraintlayout.widget.ConstraintLayout>
9 changes: 9 additions & 0 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,13 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<androidx.appcompat.widget.AppCompatButton
android:id="@+id/lib"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lib"
android:textAllCaps="false"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/widget" />

</androidx.constraintlayout.widget.ConstraintLayout>
43 changes: 43 additions & 0 deletions app/src/main/res/layout/activity_radius_card_page.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.fizzer.widget.view.RadiusCardView
android:id="@+id/cardView1"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_margin="15dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:rcv_bottomLeftRadius="9dp"
app:rcv_bottomRightRadius="9dp"
app:rcv_topLeftRadius="9dp"
app:rcv_topRightRadius="9dp">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#D13C74"/>
</com.fizzer.widget.view.RadiusCardView>

<com.fizzer.widget.view.RadiusCardView
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_margin="15dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cardView1"
app:rcv_bottomLeftRadius="9dp"
app:rcv_bottomRightRadius="25dp"
app:rcv_topLeftRadius="3dp"
app:rcv_topRightRadius="0dp">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#D13C74"/>
</com.fizzer.widget.view.RadiusCardView>
</androidx.constraintlayout.widget.ConstraintLayout>

0 comments on commit bc17183

Please sign in to comment.