android(3) 启动动画的渐变
来源:互联网 发布:淘宝天天抢拍没有了 编辑:程序博客网 时间:2024/05/22 07:40
一.启动动画的渐变:
以后可能会用到的启动动画的效果:
效果图:
主界面:
public class MainActivity extends Activity { private LandingView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); lv = new LandingView(this);// 将自定义视图显示在本界面setContentView(lv);// 创建修改Logo透明度的异步任务LoGoTask task = new LoGoTask(this,lv);// 执行异步任务task.execute(); }}
异步图片渐变:
public class LoGoTask extends AsyncTask<Object, Integer, String> {// 当前的透明度取值int alpha = 0;MainActivity main;private LandingView lv;public LoGoTask(MainActivity main,LandingView lv){this.main = main;this.lv = lv;}@Overrideprotected void onPreExecute() {// TODO Auto-generated method stubsuper.onPreExecute();}/** * 异步任务执行成功后,自动跳转至应用程序主界面 * */@Overrideprotected void onPostExecute(String result) { Intent intent=new Intent(main, TestActivity.class); main.startActivity(intent); main.finish();}/** * 修改Logo自定义视图图片透明度,并重绘 * */@Overrideprotected void onProgressUpdate(Integer... values) {int temp = values[0].intValue();lv.redraw(temp);}/** * 异步任务,循环改变透明度取值 * */@Overrideprotected String doInBackground(Object... arg0) {// TODO Auto-generated method stubwhile (alpha < 255) {try {Thread.sleep(100);publishProgress(new Integer(alpha));alpha += 5;} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return null;}}
显示图片制作:
public class LandingView extends View{ private int alpha = 0;private Bitmap logo;private Context context;public LandingView(Context context) {super(context);this.context = context;logo = BitmapFactory.decodeResource(context.getResources(),R.drawable.background1);}public void redraw(int aplha){ this.alpha = aplha; invalidate();}@Overrideprotected void onDraw(Canvas canvas) {// TODO Auto-generated method stubsuper.onDraw(canvas);// 清屏canvas.drawColor(Color.WHITE);// 创建画笔对象Paint p = new Paint();// 设置画笔对象的透明度为当前透明度取值p.setAlpha(alpha);WindowManager manager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);DisplayMetrics dm=new DisplayMetrics();manager.getDefaultDisplay().getMetrics(dm);int width2=dm.widthPixels;int height2=dm.heightPixels;// 在视图上利用画笔绘制Logo图像RectF rect = new RectF(0,0,width2,height2);canvas.drawBitmap(logo, null, rect, p);}}
再来个进入界面:
public class TestActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }}
都统一用一个布局:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" ></LinearLayout>
1 1
- android(3) 启动动画的渐变
- 用动画实现android app启动界面的渐变效果
- Android 启动程序时动画效果(渐变)
- android 仿京东,滚动屏幕标题栏渐变+(启动页面动画)
- android渐变动画的两种实现
- android 最简单的颜色渐变动画
- android 最简单的颜色渐变动画
- android 渐变动画
- Android 开场渐变动画
- Android 动画 - AlphaAnimation渐变动画
- 【Android】动画 —— view高度渐变的动画
- 动画的渐变效果
- android动画的透明度渐变、旋转动画、缩放动画、评议动画
- Android中心渐变动画XML
- Android-alpha-渐变透明度 动画
- android studio 按钮渐变动画
- android中颜色渐变动画
- android动画,旋转,渐变,缩放
- 基于web的服务器push技术:comet vs websocket
- 关于java多线程变量问题-纯个人理解 不知对否
- Uncle bob的书摘(Clean code and the craftsman)
- OpenGL矩阵变换
- 1023. 组个最小数 (20)
- android(3) 启动动画的渐变
- 开篇
- Birt + SSH2 完整实践
- iOS 8 照相或从相册选取、
- 关于android.widget.View.jumpDrawablesToCurrentState问题
- extjs定义日期类型的字段格式
- Android ListView复杂列表优化实践 - DarcyYe的个人空间
- Java正则表达式
- 欢迎使用CSDN-markdown编辑器