diff --git a/.gitignore b/.gitignore index 25bf2aef6f76c69e814d0a877b6a429a832a5561..757b427e2080e8334e77222974b098fd1e79fd51 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,15 @@ *.iml .gradle -.idea /local.properties -/.idea/workspace.xml +/.idea/caches /.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml .DS_Store /build /captures .externalNativeBuild +.cxx +upload.gradle \ No newline at end of file diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 8bec6501e58b31a556ece0f6270785463eee183a..46532e65412c77597140f6878faad5c23f9971fd 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 857092ad357f27afc35a7c2861654356af1ece39..ca09c2a8af8735b361ed18f44c24aa72463034e5 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -1,18 +1,22 @@ + diff --git a/.idea/markdown-navigator.xml b/.idea/markdown-navigator.xml index 076726f8a8e5f9d80f111138b84379c7c2cacedd..a2fc0864e7bc79d88eaf4d3f18785833dfe9d367 100644 --- a/.idea/markdown-navigator.xml +++ b/.idea/markdown-navigator.xml @@ -1,78 +1,62 @@ - - + + - + - + - - - + - + + + - + - - - - \ No newline at end of file diff --git a/.idea/markdown-navigator/profiles_settings.xml b/.idea/markdown-navigator/profiles_settings.xml deleted file mode 100644 index 57927c5a72b6696671ef9629d3734dda9d5f96b0..0000000000000000000000000000000000000000 --- a/.idea/markdown-navigator/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 90e340b99e28652ba0b1519bc36af48ea62fc79b..8a14290d011eafeb38e9abc5abac47df163a6d4f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,93 +1,13 @@ - - - - - - - - - - - - - Android > Lint > Correctness - - - Android > Lint > Performance - - - - - Android - - - - - - - - - - - - - - - 1.8 - - - - - - - - - - - - - + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index b278b66aae66595f0d6ee992beb4569e74eb45fd..0000000000000000000000000000000000000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000000000000000000000000000000000..37aee10033c6ae75d9b29c4efb477edb95a41bfe --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,6 @@ + +## 0.0.2-SNAPSHOT +更新copyright + +## 0.0.1-SNAPSHOT +ohos 第一个版本,完整实现了原库的全部 api diff --git a/README.OPENSOURCE b/README.OPENSOURCE new file mode 100644 index 0000000000000000000000000000000000000000..2b1874de1a409c868fd7ad88f975fae6421d964b --- /dev/null +++ b/README.OPENSOURCE @@ -0,0 +1,19 @@ +[ + + { + + "Name": "ShadowDrawable", + + "License": "MIT License", + + "License File": "LICENSE", + + "Version Number": "v0.1", + + "Upstream URL": "https://github.com/Liberuman/ShadowDrawable", + + "Description": "带阴影效果的组件库" + + } + +] \ No newline at end of file diff --git a/Readme.md b/Readme.md index cf6db40ffa8796dcb139d95a05da68e1589abc62..231b542971d055f2ba65df1b34843cea1ad380c0 100644 --- a/Readme.md +++ b/Readme.md @@ -1,56 +1,63 @@ -[![image](https://jitpack.io/v/Liberuman/ShadowDrawable.svg)](https://jitpack.io/#JuHonggang/ShadowDrawable) -![image](https://img.shields.io/badge/build-passing-brightgreen.svg) -[![image](https://img.shields.io/packagist/l/doctrine/orm.svg)](https://github.com/Liberuman/ShadowDrawable/blob/master/LICENSE) +# ShadowDrawable +## 项目介绍 -#### 添加依赖 +- 项目名称: 带阴影效果的组件库 +- 所属系列: openharmony的第三方组件适配移植 +- 功能: 通过代码即可实现阴影效果 +- 项目移植状态: 主功能完成 +- 调用差异: 无 +- 开发版本: sdk5,DevEco Studio 2.1 Release +- 基线版本:Releases v0.1 -在项目的build.gradle中添加: - allprojects { - repositories { - ... - maven { url 'https://jitpack.io' - } - } - } -在APP模块下的build.gradle中添加依赖: +## 项目演示 + - dependencies { - implementation 'com.github.Liberuman:ShadowDrawable:0.1' + +## 安装教程 +1.在项目根目录下的build.gradle文件中, + ``` +allprojects { + repositories { + maven { + url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' + } } +} + ``` -#### 使用 +2.在entry模块的build.gradle文件中, + ``` + dependencies { + implementation('com.gitee.chinasoft_ohos:ShadowDrawable:0.0.2-SNAPSHOT') + ...... + } +``` +在sdk5,DevEco Studio 2.1 Release下项目可直接运行 +如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, +并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 -通过一行代码即可实现阴影效果 - /** - * 为指定View设置带阴影的背景 - * @param view 目标View - * @param bgColor View背景色 - * @param shapeRadius View的圆角 - * @param shadowColor 阴影的颜色 - * @param shadowRadius 阴影的宽度 - * @param offsetX 阴影水平方向的偏移量 - * @param offsetY 阴影垂直方向的偏移量 - */ - public static void setShadowDrawable(View view, int bgColor, int shapeRadius, int shadowColor, int shadowRadius, int offsetX, int offsetY); - - // 实例:设置背景为颜色为#3D5AFE,圆角为8dp, 阴影颜色为#66000000,宽度为10dp的背景 - ShadowDrawable.setShadowDrawable(textView1, Color.parseColor("#3D5AFE"), dpToPx(8), - Color.parseColor("#66000000"), dpToPx(10), 0, 0); +## 使用说明 +```java +//设置背景为颜色为#2979FF,圆角为8dp, 阴影颜色为#992979FF,宽度为6dp的背景 +ShadowDrawable.setShadowDrawable(textView1, Color.getIntColor("#2979FF"), dpToPx(8),Color.getIntColor("#992979FF"), dpToPx(6), 0, 0); +``` +## 测试信息 +CodeCheck代码测试无异常 -详细介绍可参考:[Android开发中阴影效果的实现]( -https://juejin.im/post/5ae1ba4d6fb9a07acc116b8d) +CloudTest代码测试无异常 -#### 阴影效果 +火绒安全病毒安全检测通过 -![image](./app/src/main/assets/effect.jpeg) -![image](./app/src/main/assets/effect2.jpeg) -![image](./app/src/main/assets/effect3.jpeg) +当前版本demo功能与原组件基本无差异 -#### License +## 版本迭代 +- 0.0.2-SNAPSHOT +## 版权和许可信息 +``` Copyright (c) 2018 Freeman Permission is hereby granted, free of charge, to any person obtaining a copy @@ -69,4 +76,5 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +SOFTWARE. +``` \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore deleted file mode 100644 index 796b96d1c402326528b4ba3c12ee9d92d0e212e9..0000000000000000000000000000000000000000 --- a/app/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index b58e27f183c786d2fffbdcd5395ac2ef28bcd626..0000000000000000000000000000000000000000 --- a/app/build.gradle +++ /dev/null @@ -1,35 +0,0 @@ -apply plugin: 'com.android.application' - -apply plugin: 'kotlin-android' - -apply plugin: 'kotlin-android-extensions' - -android { - compileSdkVersion 26 - defaultConfig { - applicationId "com.sxu.shadowdrawabledemo" - minSdkVersion 14 - targetSdkVersion 26 - versionCode 1 - versionName "1.0" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } -} - -dependencies { - implementation fileTree(include: ['*.jar'], dir: 'libs') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" - implementation 'com.android.support:appcompat-v7:26.1.0' - implementation 'com.android.support.constraint:constraint-layout:1.1.0' - testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.1' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' - implementation project(':shadowdrawable') - implementation 'com.android.support:recyclerview-v7:26.1.0' -} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro deleted file mode 100644 index f1b424510da51fd82143bc74a0a801ae5a1e2fcd..0000000000000000000000000000000000000000 --- a/app/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile diff --git a/app/src/androidTest/java/com/sxu/shadowdrawabledemo/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/sxu/shadowdrawabledemo/ExampleInstrumentedTest.kt deleted file mode 100644 index 59810cb804a005e96ce419eee20b11dfb4869f73..0000000000000000000000000000000000000000 --- a/app/src/androidTest/java/com/sxu/shadowdrawabledemo/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.sxu.shadowdrawabledemo - -import android.support.test.InstrumentationRegistry -import android.support.test.runner.AndroidJUnit4 - -import org.junit.Test -import org.junit.runner.RunWith - -import org.junit.Assert.* - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getTargetContext() - assertEquals("com.sxu.shadowdrawabledemo", appContext.packageName) - } -} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml deleted file mode 100644 index 7a9cf61be8e81e02620c5daa46517020750de6ac..0000000000000000000000000000000000000000 --- a/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/assets/effect.jpeg b/app/src/main/assets/effect.jpeg deleted file mode 100644 index 0c0acb07c42e71f146565ff6c34aa18d1d32bb7b..0000000000000000000000000000000000000000 Binary files a/app/src/main/assets/effect.jpeg and /dev/null differ diff --git a/app/src/main/assets/effect2.jpeg b/app/src/main/assets/effect2.jpeg deleted file mode 100644 index 3d3198a10dac0c979f75904da8e62945e954ec46..0000000000000000000000000000000000000000 Binary files a/app/src/main/assets/effect2.jpeg and /dev/null differ diff --git a/app/src/main/assets/effect3.jpeg b/app/src/main/assets/effect3.jpeg deleted file mode 100644 index b3d2dfcc35d8ac43d311eaa4a1c223bfd25344bf..0000000000000000000000000000000000000000 Binary files a/app/src/main/assets/effect3.jpeg and /dev/null differ diff --git a/app/src/main/java/com/sxu/shadowdrawabledemo/ExampleContainerActivity.java b/app/src/main/java/com/sxu/shadowdrawabledemo/ExampleContainerActivity.java deleted file mode 100644 index c602b0813397e62702d9310dffa119a1fbb6fc08..0000000000000000000000000000000000000000 --- a/app/src/main/java/com/sxu/shadowdrawabledemo/ExampleContainerActivity.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.sxu.shadowdrawabledemo; - -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.support.v7.app.AppCompatActivity; - -/******************************************************************************* - * Description: - * - * Author: Freeman - * - * Date: 2019/2/12 - * - * Copyright: all rights reserved by Freeman. - *******************************************************************************/ -public class ExampleContainerActivity extends AppCompatActivity { - - public final static int CONTAINER_TYPE_LIST = 1; - public final static int CONTAINER_TYPE_GRID = 2; - public final static int CONTAINER_TYPE_RECYCLE = 3; - public final static int CONTAINER_TYPE_PAGER = 4; - - @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_example_container_layout); - int containerType = getIntent().getIntExtra("containerType", CONTAINER_TYPE_LIST); - FragmentManager fm = getSupportFragmentManager(); - FragmentTransaction ft = fm.beginTransaction(); - Fragment fragment = null; - if (containerType == CONTAINER_TYPE_LIST) { - fragment = new ListExampleFragment(); - } else if (containerType == CONTAINER_TYPE_GRID) { - fragment = new GridExampleFragment(); - } else if (containerType == CONTAINER_TYPE_RECYCLE) { - fragment = new RecycleExampleFragment(); - } else if (containerType == CONTAINER_TYPE_PAGER) { - fragment = new PagerExampleFragment(); - } else { - /** - * Nothing - */ - } - - if (fragment != null) { - ft.add(R.id.container_layout, fragment); - ft.commitAllowingStateLoss(); - } - } - - public static void enter(Context context, int containerType) { - Intent intent = new Intent(context, ExampleContainerActivity.class); - intent.putExtra("containerType", containerType); - context.startActivity(intent); - } -} diff --git a/app/src/main/java/com/sxu/shadowdrawabledemo/GridExampleFragment.java b/app/src/main/java/com/sxu/shadowdrawabledemo/GridExampleFragment.java deleted file mode 100644 index 6b63db3a0c5f1b51b9e50be9d1842061139d4976..0000000000000000000000000000000000000000 --- a/app/src/main/java/com/sxu/shadowdrawabledemo/GridExampleFragment.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.sxu.shadowdrawabledemo; - -import android.graphics.Color; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.BaseAdapter; -import android.widget.GridView; -import android.widget.ListView; -import android.widget.TextView; - -import com.sxu.shadowdrawable.ShadowDrawable; - -import java.util.ArrayList; -import java.util.List; - -/******************************************************************************* - * Description: - * - * Author: Freeman - * - * Date: 2019/2/12 - * - * Copyright: all rights reserved by Freeman. - *******************************************************************************/ -public class GridExampleFragment extends Fragment { - - private GridView gridView; - private List dataList = new ArrayList<>(); - - @Nullable - @Override - public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - gridView = new GridView(getActivity()); - gridView.setClipToPadding(false); - int padding = 18 * 3; - gridView.setPadding(padding, padding, padding, padding); - return gridView; - } - - @Override - public void onActivityCreated(@Nullable Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - for (int i = 0; i < 20; i++) { - dataList.add("Item_" + i); - } - - gridView.setHorizontalSpacing(0); - gridView.setVerticalSpacing(0); - gridView.setNumColumns(3); - gridView.setAdapter(new BaseAdapter() { - @Override - public int getCount() { - return dataList.size(); - } - - @Override - public String getItem(int position) { - return dataList.get(position); - } - - @Override - public long getItemId(int position) { - return position; - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - TextView textView = new TextView(getActivity()); - int padding = 6 * 3; - textView.setPadding(padding, padding, padding, padding); - textView.setGravity(Gravity.CENTER); - textView.setText(getItem(position)); - textView.setMinimumHeight(120*3); - ShadowDrawable.setShadowDrawable(textView, Color.parseColor("#2979FF"), 8 * 3, - Color.parseColor("#ee7C4DFF"), padding, 0, 0); - return textView; - } - }); - } -} diff --git a/app/src/main/java/com/sxu/shadowdrawabledemo/ListExampleFragment.java b/app/src/main/java/com/sxu/shadowdrawabledemo/ListExampleFragment.java deleted file mode 100644 index c169a036f4a3c5bdffbb464179cc6f6acb198781..0000000000000000000000000000000000000000 --- a/app/src/main/java/com/sxu/shadowdrawabledemo/ListExampleFragment.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.sxu.shadowdrawabledemo; - -import android.graphics.Color; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.AbsListView; -import android.widget.ArrayAdapter; -import android.widget.BaseAdapter; -import android.widget.ListView; -import android.widget.TextView; - -import com.sxu.shadowdrawable.ShadowDrawable; - -import java.util.ArrayList; -import java.util.List; - -/******************************************************************************* - * Description: - * - * Author: Freeman - * - * Date: 2019/2/12 - * - * Copyright: all rights reserved by Freeman. - *******************************************************************************/ -public class ListExampleFragment extends Fragment { - - private ListView listView; - private List dataList = new ArrayList<>(); - - @Nullable - @Override - public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - listView = new ListView(getActivity()); - return listView; - } - - @Override - public void onActivityCreated(@Nullable Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - for (int i = 0; i < 10; i++) { - dataList.add("Item_" + i); - } - - listView.setDivider(null); - listView.setAdapter(new BaseAdapter() { - @Override - public int getCount() { - return dataList.size(); - } - - @Override - public String getItem(int position) { - return dataList.get(position); - } - - @Override - public long getItemId(int position) { - return position; - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - TextView textView = new TextView(getActivity()); - int padding = 10 * 3; - textView.setPadding(padding, padding, padding, padding); - textView.setGravity(Gravity.CENTER); - textView.setText(getItem(position)); - textView.setMinimumHeight(120*3); - ShadowDrawable.setShadowDrawable(textView, Color.parseColor("#2979FF"), 8 * 3, - Color.parseColor("#ee7C4DFF"), padding, 0, 0); - return textView; - } - }); - } -} diff --git a/app/src/main/java/com/sxu/shadowdrawabledemo/MainActivity.java b/app/src/main/java/com/sxu/shadowdrawabledemo/MainActivity.java deleted file mode 100644 index 6f0899d563b7bff1e6a7b3195237d32365a8baf8..0000000000000000000000000000000000000000 --- a/app/src/main/java/com/sxu/shadowdrawabledemo/MainActivity.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.sxu.shadowdrawabledemo; - -import android.content.Intent; -import android.content.res.Resources; -import android.graphics.Color; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.support.v7.app.AppCompatActivity; -import android.view.View; -import android.widget.TextView; - -import com.sxu.shadowdrawable.ShadowDrawable; - -public class MainActivity extends AppCompatActivity implements View.OnClickListener { - - @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - setContentView(R.layout.activity_main); - TextView textView1 = findViewById(R.id.text1); - TextView textView2 = findViewById(R.id.text2); - TextView textView3 = findViewById(R.id.text3); - TextView textView4 = findViewById(R.id.text4); - TextView listExampleText = findViewById(R.id.list_example_text); - TextView gridExampleText = findViewById(R.id.grid_example_text); - TextView recycleExampleText = findViewById(R.id.recycle_example_text); - TextView pagerExampleText = findViewById(R.id.view_page_example_text); - - ShadowDrawable.setShadowDrawable(textView1, Color.parseColor("#2979FF"), dpToPx(8), - Color.parseColor("#992979FF"), dpToPx(6), 0, 0); - ShadowDrawable.setShadowDrawable(textView2, new int[] { - Color.parseColor("#536DFE"), Color.parseColor("#7C4DFF")}, dpToPx(8), - Color.parseColor("#997C4DFF"), dpToPx(6), dpToPx(3), dpToPx(3)); - - ShadowDrawable.setShadowDrawable(textView3, ShadowDrawable.SHAPE_CIRCLE, Color.parseColor("#2979FF"), - 0, Color.parseColor("#aa536DFE"), dpToPx(10), 0, 0); - ShadowDrawable.setShadowDrawable(textView4, ShadowDrawable.SHAPE_CIRCLE, Color.parseColor("#7C4DFF"), - dpToPx(8), Color.parseColor("#992979FF"), dpToPx(6), dpToPx(3), dpToPx(3)); - - listExampleText.setOnClickListener(this); - gridExampleText.setOnClickListener(this); - recycleExampleText.setOnClickListener(this); - pagerExampleText.setOnClickListener(this); - } - - - @Override - public void onClick(View v) { - int containerType = -1; - switch (v.getId()) { - case R.id.list_example_text: - containerType = ExampleContainerActivity.CONTAINER_TYPE_LIST; - break; - case R.id.grid_example_text: - containerType = ExampleContainerActivity.CONTAINER_TYPE_GRID; - break; - case R.id.recycle_example_text: - containerType = ExampleContainerActivity.CONTAINER_TYPE_RECYCLE; - break; - case R.id.view_page_example_text: - containerType = ExampleContainerActivity.CONTAINER_TYPE_PAGER; - break; - default: - break; - } - if (containerType != -1) { - ExampleContainerActivity.enter(this, containerType); - } - } - - private int dpToPx(int dp) { - return (int) (Resources.getSystem().getDisplayMetrics().density * dp + 0.5f); - } -} diff --git a/app/src/main/java/com/sxu/shadowdrawabledemo/PagerExampleFragment.java b/app/src/main/java/com/sxu/shadowdrawabledemo/PagerExampleFragment.java deleted file mode 100644 index 8bd657b4f94113c8490a7faf1b102cbd19fd24ce..0000000000000000000000000000000000000000 --- a/app/src/main/java/com/sxu/shadowdrawabledemo/PagerExampleFragment.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.sxu.shadowdrawabledemo; - -import android.content.res.Resources; -import android.graphics.Color; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; -import android.support.v4.view.PagerAdapter; -import android.support.v4.view.ViewPager; -import android.util.AndroidException; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.BaseAdapter; -import android.widget.ListView; -import android.widget.TextView; - -import com.sxu.shadowdrawable.ShadowDrawable; - -import java.util.ArrayList; -import java.util.List; - -/******************************************************************************* - * Description: - * - * Author: Freeman - * - * Date: 2019/2/12 - * - * Copyright: all rights reserved by Freeman. - *******************************************************************************/ -public class PagerExampleFragment extends Fragment { - - private ViewPager viewPager; - private List dataList = new ArrayList<>(); - - @Nullable - @Override - public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - viewPager = new ViewPager(getActivity()); - viewPager.setClipChildren(false); - viewPager.setClipToPadding(false); - int padding = 12 * 3; - viewPager.setPadding(padding, 0, padding, 0); - viewPager.setPageMargin(-padding/2); - return viewPager; - } - - @Override - public void onActivityCreated(@Nullable Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - for (int i = 0; i < 5; i++) { - dataList.add("Item_" + i); - } - - viewPager.setAdapter(new PagerAdapter() { - @Override - public int getCount() { - return dataList.size(); - } - - @Override - public boolean isViewFromObject(View view, Object object) { - return view == object; - } - - @Override - public Object instantiateItem(ViewGroup container, int position) { - TextView textView = new TextView(getActivity()); - int padding = 12 * 3; - textView.setPadding(padding, padding, padding, padding); - textView.setGravity(Gravity.CENTER); - textView.setText(dataList.get(position)); - textView.setMinimumHeight(240*3); - ShadowDrawable.setShadowDrawable(textView, Color.parseColor("#2979FF"), 8 * 3, - Color.parseColor("#fe2979FF"), padding, 0, 0); - container.addView(textView); - return textView; - } - - @Override - public void destroyItem(ViewGroup container, int position, Object object) { - container.removeView((View) object); - } - }); - } -} diff --git a/app/src/main/java/com/sxu/shadowdrawabledemo/RecycleExampleFragment.java b/app/src/main/java/com/sxu/shadowdrawabledemo/RecycleExampleFragment.java deleted file mode 100644 index ba6854453d3a874df9cf29510e6285f4c34748e1..0000000000000000000000000000000000000000 --- a/app/src/main/java/com/sxu/shadowdrawabledemo/RecycleExampleFragment.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.sxu.shadowdrawabledemo; - -import android.graphics.Color; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.StaggeredGridLayoutManager; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import com.sxu.shadowdrawable.ShadowDrawable; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -/******************************************************************************* - * Description: - * - * Author: Freeman - * - * Date: 2019/2/12 - * - * Copyright: all rights reserved by Freeman. - *******************************************************************************/ -public class RecycleExampleFragment extends Fragment { - - private RecyclerView recyclerView; - private List dataList = new ArrayList<>(); - - @Nullable - @Override - public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - recyclerView = new RecyclerView(getActivity()); - return recyclerView; - } - - @Override - public void onActivityCreated(@Nullable Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - for (int i = 0; i < 20; i++) { - dataList.add("Item_" + i); - } - - RecyclerView.LayoutManager layoutManager = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL); - recyclerView.setLayoutManager(layoutManager); - recyclerView.setAdapter(new RecyclerView.Adapter() { - @Override - public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - return new MyViewHolder(new TextView(getActivity())); - } - - @Override - public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { - TextView textView = (TextView) holder.itemView; - int padding = 10 * 3; - textView.setPadding(padding, padding, padding, padding); - textView.setGravity(Gravity.CENTER); - textView.setText(dataList.get(position)); - Random random = new Random(); - textView.setMinimumHeight((int) (120 * 3 + random.nextFloat() * 300)); - ShadowDrawable.setShadowDrawable(textView, Color.parseColor("#2979FF"), 8 * 3, - Color.parseColor("#ee7C4DFF"), padding, 0, 0); - } - - @Override - public int getItemCount() { - return dataList.size(); - } - }); - //recyclerView.addItemDecoration(new GridSpacingItemDecoration(2,10,true)); - } - - public class MyViewHolder extends RecyclerView.ViewHolder { - - public MyViewHolder(View itemView) { - super(itemView); - } - } -} diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index c3903edf4390bd81668cb895f3118cde6f60a104..0000000000000000000000000000000000000000 --- a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index 5713f34a5f36cc43cd7f96007e8b154ae5af5baf..0000000000000000000000000000000000000000 --- a/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml deleted file mode 100644 index 28c3b183e70630157b34deffef873bd5a57a3c3e..0000000000000000000000000000000000000000 --- a/app/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - -