Skip to content

Commit

Permalink
1.BasisTimesUtils 工具类添加 DatePickerDialog 和 TimePickerDialog 的使用; 2.常规…
Browse files Browse the repository at this point in the history
…动画测试
  • Loading branch information
GinGod committed Apr 17, 2018
1 parent 92dcddb commit fca2754
Show file tree
Hide file tree
Showing 13 changed files with 575 additions and 21 deletions.
1 change: 1 addition & 0 deletions app/src/main/AndroidManifest.xml
Expand Up @@ -38,6 +38,7 @@
</intent-filter>
</activity>
<activity android:name=".activity.AnimationActivity"/>
<activity android:name=".activity.DateTimePickerActivity"/>

<service android:name=".TestService"/>
</application>
Expand Down
Expand Up @@ -9,6 +9,7 @@
import com.gingold.basisdependency.activity.AnimationActivity;
import com.gingold.basisdependency.activity.BugRecycler2To1Activity;
import com.gingold.basisdependency.activity.DBActivity;
import com.gingold.basisdependency.activity.DateTimePickerActivity;
import com.gingold.basisdependency.activity.DialogActivity;
import com.gingold.basisdependency.activity.ExceptionInfoActivity;
import com.gingold.basisdependency.activity.GlideActivity;
Expand Down Expand Up @@ -58,6 +59,9 @@ public void onClick(View v) {
int flag = Paint.DITHER_FLAG;
toast(data.des);
switch (data.des) {
case MainData.DATEPICKER:
startActivity(DateTimePickerActivity.class);
break;
case MainData.ANIMATION:
startActivity(AnimationActivity.class);
break;
Expand Down
Expand Up @@ -4,9 +4,11 @@
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.LinearInterpolator;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;

import com.gingold.basisdependency.Base.BaseActivity;
import com.gingold.basisdependency.R;
Expand All @@ -16,19 +18,22 @@
*/

public class AnimationActivity extends BaseActivity {
private ImageView iv_animation;

@Override
public void setupViewLayout() {
setContentView(R.layout.activity_animation);
initTitle("动画", "");
}

@Override
public void initView() {

iv_animation = getViewNoClickable(R.id.iv_animation);
}

@Override
public void listener() {

setOnClickListener(R.id.tv_animation_alpha, R.id.tv_animation_translate, R.id.tv_animation_scale, R.id.tv_animation_rotate, R.id.tv_animation_set, R.id.tv_animation_rotate_contitue);
}

@Override
Expand All @@ -38,7 +43,26 @@ public void logicDispose() {

@Override
public void onClick(View v) {

switch (v.getId()) {
case R.id.tv_animation_alpha:
alpha(iv_animation);
break;
case R.id.tv_animation_translate:
trans(iv_animation);
break;
case R.id.tv_animation_scale:
scale(iv_animation);
break;
case R.id.tv_animation_rotate:
rotate(iv_animation);
break;
case R.id.tv_animation_set:
set(iv_animation);
break;
case R.id.tv_animation_rotate_contitue:
rotateContinue(iv_animation);
break;
}
}

/**
Expand All @@ -47,7 +71,7 @@ public void onClick(View v) {
* @param view
*/
public void alpha(View view) {
AlphaAnimation aa = new AlphaAnimation(0.0f, 1.0f);
AlphaAnimation aa = new AlphaAnimation(1.0f, 0.0f);
// 动画播放的时间长度
aa.setDuration(2000);
// 设置重复播放的次数
Expand All @@ -65,8 +89,8 @@ public void alpha(View view) {
*/
public void trans(View view) {
TranslateAnimation ta = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 1f,
Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 1f);
Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0.5f);
// 动画播放的时间长度
ta.setDuration(2000);
// 设置重复播放的次数
Expand Down Expand Up @@ -111,11 +135,38 @@ public void rotate(View view) {
view.startAnimation(ra);
}

/**
* 连续旋转
*/
public void rotateContinue(View view) {
RotateAnimation ra = new RotateAnimation(0, 360,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
0.5f);
// 动画播放的时间长度
ra.setDuration(252);
// 设置重复播放的次数
ra.setRepeatCount(Animation.INFINITE);
// 设置重复播放的模式
ra.setRepeatMode(Animation.RESTART);
ra.setInterpolator(new LinearInterpolator());//速度平均
// 让iv播放aa动画
view.startAnimation(ra);
}

/**
* 动画合集 集合
*/
public void set(View view) {
AnimationSet set = new AnimationSet(false);

AlphaAnimation aa = new AlphaAnimation(0.0f, 1.0f);
// 动画播放的时间长度
aa.setDuration(2000);
// 设置重复播放的次数
aa.setRepeatCount(Animation.INFINITE);
// 设置重复播放的模式
aa.setRepeatMode(Animation.REVERSE);

RotateAnimation ra = new RotateAnimation(0, 360,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
0.5f);
Expand All @@ -125,6 +176,7 @@ public void set(View view) {
ra.setRepeatCount(Animation.INFINITE);
// 设置重复播放的模式
ra.setRepeatMode(Animation.REVERSE);

ScaleAnimation sa = new ScaleAnimation(0.2f, 2.0f, 0.2f, 2.0f,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
0.5f);
Expand All @@ -134,16 +186,18 @@ public void set(View view) {
sa.setRepeatCount(Animation.INFINITE);
// 设置重复播放的模式
sa.setRepeatMode(Animation.REVERSE);
// 让iv播放aa动画

TranslateAnimation ta = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 1f,
Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 1f);
Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0.15f,
Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0.15f);
// 动画播放的时间长度
ta.setDuration(2000);
// 设置重复播放的次数
ta.setRepeatCount(Animation.INFINITE);
// 设置重复播放的模式
ta.setRepeatMode(Animation.REVERSE);

set.addAnimation(aa);
set.addAnimation(ta);
set.addAnimation(sa);
set.addAnimation(ra);
Expand Down
@@ -0,0 +1,149 @@
package com.gingold.basisdependency.activity;

import android.os.Build;
import android.support.annotation.RequiresApi;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TimePicker;

import com.gingold.basisdependency.Base.BaseActivity;
import com.gingold.basisdependency.R;
import com.gingold.basislibrary.utils.BasisLogUtils;
import com.gingold.basislibrary.utils.BasisTimesUtils;

public class DateTimePickerActivity extends BaseActivity {
private DatePicker dp_datetimepicker_date;
private TimePicker tp_datetimepicker_time;

@Override
public void setupViewLayout() {
setContentView(R.layout.activity_datetimepicker);
initTitle("日期时间选择", "");
}

@Override
public void initView() {
dp_datetimepicker_date = getViewNoClickable(R.id.dp_datetimepicker_date);
tp_datetimepicker_time = getViewNoClickable(R.id.tp_datetimepicker_time);
}

@Override
public void listener() {
setOnClickListener(R.id.tv_datetimepicker_date, R.id.tv_datetimepicker_time, R.id.tv_datetimepicker_yearmonth, R.id.tv_datetimepicker_monthday);
}

@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void logicDispose() {
//日期选择器初始化和变化监听
dp_datetimepicker_date.init(2016, 1, 1, new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
BasisLogUtils.e("onDateChanged: " + year + "-" + monthOfYear + "-" + dayOfMonth);
}
});

//时间选择器初始化和变化监听
tp_datetimepicker_time.setIs24HourView(true);
tp_datetimepicker_time.setHour(16);
tp_datetimepicker_time.setMinute(36);
tp_datetimepicker_time.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
BasisLogUtils.e(hourOfDay + ":" + minute);
}
});
}

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tv_datetimepicker_date://年月日选择
showYearMonthDayPicker();
break;
case R.id.tv_datetimepicker_yearmonth://年月选择
showYearMonthPicker();
break;
case R.id.tv_datetimepicker_monthday://月日选择
showMonthDayPicker();
break;
case R.id.tv_datetimepicker_time://时间选择
showTimerPicker();
break;

}
}

/**
* 时间选择
*/
private void showTimerPicker() {
BasisTimesUtils.showTimerPickerDialog(mActivity, true, "请选择时间", 21, 33, true, new BasisTimesUtils.OnTimerPickerListener() {
@Override
public void onConfirm(int hourOfDay, int minute) {
toast(hourOfDay + ":" + minute);
}

@Override
public void onCancel() {
toast("cancle");
}
});
}

/**
* 月日选择
*/
private void showMonthDayPicker() {
BasisTimesUtils.showDatePickerDialog(context, false, "请选择月日", 2015, 8, 28, new BasisTimesUtils.OnDatePickerListener() {

@Override
public void onConfirm(int year, int month, int dayOfMonth) {
toast(year + "-" + month + "-" + dayOfMonth);
}

@Override
public void onCancel() {
toast("cancle");
}
}).setYearGone();
}

/**
* 年月选择
*/
private void showYearMonthPicker() {
BasisTimesUtils.showDatePickerDialog(context, true, "", 2015, 12, 22,
new BasisTimesUtils.OnDatePickerListener() {

@Override
public void onConfirm(int year, int month, int dayOfMonth) {
toast(year + "-" + month + "-" + dayOfMonth);
}

@Override
public void onCancel() {
toast("cancle");
}
}).setDayGone();
}

/**
* 年月日选择
*/
private void showYearMonthDayPicker() {
BasisTimesUtils.showDatePickerDialog(context, BasisTimesUtils.THEME_HOLO_DARK, "请选择年月日", 2015, 1, 1, new BasisTimesUtils.OnDatePickerListener() {

@Override
public void onConfirm(int year, int month, int dayOfMonth) {
toast(year + "-" + month + "-" + dayOfMonth);
}

@Override
public void onCancel() {
toast("cancle");
}
});
}

}
Expand Up @@ -15,6 +15,7 @@
import com.gingold.basisdependency.Base.BaseActivity;
import com.gingold.basisdependency.MyApplication;
import com.gingold.basisdependency.R;
import com.gingold.basisdependency.bean.TestBean;
import com.gingold.basislibrary.utils.BasisCommonUtils;
import com.gingold.basislibrary.utils.BasisDeviceUtils;
import com.gingold.basislibrary.utils.BasisFileUtils;
Expand All @@ -26,8 +27,10 @@
import com.gingold.basislibrary.utils.dialog.BasisDialogUtils;
import com.gingold.basislibrary.utils.dialog.BasisPBLoadingUtils;
import com.gingold.basislibrary.utils.dialog.BasisProgressDialogUtils;
import com.google.gson.reflect.TypeToken;

import java.io.File;
import java.util.ArrayList;

import butterknife.Bind;
import butterknife.ButterKnife;
Expand Down Expand Up @@ -69,7 +72,7 @@ public void initView() {

@Override
public void listener() {
setOnClickListener(R.id.tv_test_installapk);
setOnClickListener(R.id.tv_test_installapk, R.id.tv_test_gson);
}

@Override
Expand Down Expand Up @@ -114,7 +117,11 @@ public void onProgress(long totalSize, long currentSize, long progress) {
basisPBLoadingUtils.setMessage("正在复制 " + progress + "%");
}
});

break;
case R.id.tv_test_gson:
String test = "[{\"distributioncode\": \"qlkd\",\"goodsname\": \"\", \"goodsnum\": \"6\"}]";
ArrayList<TestBean> list = gson.fromJson(test, new TypeToken<ArrayList<TestBean>>() {
}.getType());
break;
}
}
Expand Down
25 changes: 25 additions & 0 deletions app/src/main/java/com/gingold/basisdependency/bean/TestBean.java
@@ -0,0 +1,25 @@
package com.gingold.basisdependency.bean;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

/**
*
*/
public class TestBean {

/**
* distributioncode : qlkd
* goodsname : 你
* goodsnum : 6
*/
@Expose
@SerializedName("distributioncode")
public String distributioncode;
@Expose
@SerializedName("goodsname")
public String goodsname;
@Expose
@SerializedName("goodsnum")
public String goodsnum;
}

0 comments on commit fca2754

Please sign in to comment.