Skip to content

Commit

Permalink
1、canvas 的 clip 整理完毕
Browse files Browse the repository at this point in the history
  • Loading branch information
zincPower committed Apr 27, 2019
1 parent 58dbfb4 commit 783004b
Show file tree
Hide file tree
Showing 65 changed files with 1,553 additions and 103 deletions.
Binary file modified .idea/caches/build_file_checksums.ser
Binary file not shown.
3 changes: 1 addition & 2 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion app/build.gradle
Expand Up @@ -49,7 +49,8 @@ dependencies {
implementation project(':code5_velocitytracker_scroller')
implementation project(':code6_flowlayout')
implementation project(':code7_svg')
implementation project(':code8_canvas')
implementation project(':code8_canvas_clip')
// implementation project(':code8_canvas')
// implementation project(':code9_paint')

// implementation project(':code_x1_drawable_gravity')
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Expand Up @@ -8,7 +8,7 @@
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name="com.zinc.canvas.activity.CommonListActivity">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand Down
4 changes: 4 additions & 0 deletions app/src/main/java/com/zinc/ui2018/MainActivity.java
Expand Up @@ -19,6 +19,7 @@ protected void onCreate(Bundle savedInstanceState) {
findViewById(R.id.tv_code5_scroller_velocityTracker).setOnClickListener(this);
findViewById(R.id.tv_code6_draw_flow).setOnClickListener(this);
findViewById(R.id.tv_code7_svg).setOnClickListener(this);
findViewById(R.id.tv_code8_canvas_clip).setOnClickListener(this);
}

@Override
Expand All @@ -45,6 +46,9 @@ public void onClick(View view) {
case R.id.tv_code7_svg:
startActivity(new Intent(this, com.zinc.svg.ClientActivity.class));
break;
case R.id.tv_code8_canvas_clip:
startActivity(new Intent(this, com.zinc.code8_canvas_clip.activity.ClientActivity.class));
break;
}
}

Expand Down
5 changes: 5 additions & 0 deletions app/src/main/res/layout/activity_main.xml
Expand Up @@ -48,6 +48,11 @@
style="@style/textview_button"
android:text="svg 使用" />

<TextView
android:id="@+id/tv_code8_canvas_clip"
style="@style/textview_button"
android:text="canvas的裁剪函数 clip" />

</LinearLayout>

</ScrollView>
Expand Down
File renamed without changes.
34 changes: 34 additions & 0 deletions code8_canvas_clip/build.gradle
@@ -0,0 +1,34 @@
apply plugin: 'com.android.library'

android {
compileSdkVersion rootProject.ext.compileSdkVersion

defaultConfig {

minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode rootProject.ext.versionCode
versionName rootProject.ext.versionName

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

}

dependencies {
def lib = rootProject.ext

implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation "com.android.support:appcompat-v7:$lib.appcompatV7"

implementation project(":lib_base")
}
File renamed without changes.
15 changes: 15 additions & 0 deletions code8_canvas_clip/src/main/AndroidManifest.xml
@@ -0,0 +1,15 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zinc.code8_canvas_clip">

<application>

<activity android:name=".activity.ClientActivity"/>
<activity android:name=".activity.HeartActivity" />
<activity android:name=".activity.ClipOpContentActivity" />
<activity android:name=".activity.ClipOpListActivity" />
<activity android:name=".activity.ClipOutActivity"/>
<activity android:name=".activity.ClipActivity"/>

</application>

</manifest>
@@ -0,0 +1,40 @@
package com.zinc.code8_canvas_clip.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;

import com.zinc.code8_canvas_clip.R;

/**
* author : zinc
* time : 2019/4/26 下午12:53
* desc :
* version :
*/
public class ClientActivity extends Activity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_canvas_clip_client);
}

public void onHeart(View view) {
startActivity(new Intent(this, HeartActivity.class));
}

public void onClip(View view) {
startActivity(new Intent(this, ClipActivity.class));
}

public void onClipOut(View view) {
startActivity(new Intent(this, ClipOutActivity.class));
}

public void onClipPathWithOp(View view) {
startActivity(new Intent(this, ClipOpListActivity.class));
}
}
@@ -0,0 +1,22 @@
package com.zinc.code8_canvas_clip.activity;

import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;

import com.zinc.code8_canvas_clip.widget.ClipPathView;

/**
* author : zinc
* time : 2019/4/27 上午10:10
* desc :
* version :
*/
public class ClipActivity extends Activity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new ClipPathView(this));
}
}
@@ -0,0 +1,31 @@
package com.zinc.code8_canvas_clip.activity;

import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;

import com.zinc.code8_canvas_clip.widget.ClipOpView;

/**
* author : zinc
* time : 2019/4/26 下午12:35
* desc :
* version :
*/
public class ClipOpContentActivity extends Activity {

public static final String CLIP = "CLIP";

private ClipOpView mClipOpView;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mClipOpView = new ClipOpView(this);
setContentView(mClipOpView);

String clip = getIntent().getStringExtra(CLIP);
mClipOpView.setType(clip);

}
}
@@ -0,0 +1,57 @@
package com.zinc.code8_canvas_clip.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;

import com.zinc.code8_canvas_clip.widget.ClipOpView;
import com.zinc.code8_canvas_clip.R;

/**
* author : zinc
* time : 2019/4/26 下午12:36
* desc :
* version :
*/
public class ClipOpListActivity extends Activity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_clip_list);
}

public void onDifference(View view) {
goToClipView(ClipOpView.DIFFERENCE);
}

public void onIntersect(View view) {
goToClipView(ClipOpView.INTERSECT);
}

public void onUnion(View view) {
goToClipView(ClipOpView.UNION);
}

public void onXor(View view) {
goToClipView(ClipOpView.XOR);
}

public void onReverseDifference(View view) {
goToClipView(ClipOpView.REVERSE_DIFFERENCE);
}

public void onReplace(View view) {
goToClipView(ClipOpView.REPLACE);
}

private void goToClipView(String type) {
Intent intent = new Intent(this, ClipOpContentActivity.class);
intent.putExtra(ClipOpContentActivity.CLIP, type);

startActivity(intent);
}

}
@@ -0,0 +1,22 @@
package com.zinc.code8_canvas_clip.activity;

import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;

import com.zinc.code8_canvas_clip.widget.ClipOutPathView;

/**
* author : zinc
* time : 2019/4/27 上午10:10
* desc :
* version :
*/
public class ClipOutActivity extends Activity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new ClipOutPathView(this));
}
}
@@ -0,0 +1,38 @@
package com.zinc.code8_canvas_clip.activity;

import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.TextView;

import com.zinc.code8_canvas_clip.widget.HeartView;
import com.zinc.code8_canvas_clip.R;

/**
* author : zinc
* time : 2019/4/21 上午9:29
* desc :
* version :
*/
public class HeartActivity extends Activity {

private HeartView heartView;
private TextView tvStart;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_canvas_heart);

heartView = findViewById(R.id.heart_view);
tvStart = findViewById(R.id.tv_start);

tvStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
heartView.start();
}
});
}
}

0 comments on commit 783004b

Please sign in to comment.