自定义进度动画对话框
来源:互联网 发布:t6软件是什么 编辑:程序博客网 时间:2024/05/29 18:05
我们都知道在Android中,常见的动画模式有两种:一种是帧动画(Frame Animation),一种是补间动画(Tween Animation)。帧动画是提供了一种逐帧播放图片的动画方式,播放事先做好的图像,与gif图片原理类似,就像是在放电影一样。补间动画可以实现View组件的移动、放大、缩小以及渐变等效果。时候我们会想要做一个简单的逐帧动画的效果,在eclipse中很简单就可以创建,直接在res/drawble文件夹下面新建就行。可是在Android Studio中这样做不行。
首先确保自己是在Android视图,如图所示
然后在“app”处右键,如图所示
选择“Android resource file”选项,弹出对话框,填写如图所示 注意 Resource Type 和 Root element,Android Studio 不允许添加除 anim drawable layout values xml raw 之外的资源文件夹。 点击“OK”就完成了创建。
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"> android:oneshot="false" > <item android:drawable="@drawable/ic_star_rate_off" android:duration="150"/> <item android:drawable="@drawable/ic_star_rate_on" android:duration="150"/></animation-list>首先就是要进行自定义一个dialog
package com.xianxiaexample.mylogin;import android.app.Dialog;import android.content.Context;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.widget.ImageView;import android.widget.TextView;public class CustomProgressDialog extends Dialog { private AnimationDrawable mAnimation; private Context mContext; private ImageView mImageView; private String mLoadingTip; private TextView mLoadingTv; private int count = 0; private String oldLoadingTip; private int mResid; public CustomProgressDialog(Context context, String content, int id) { super(context); this.mContext = context; this.mLoadingTip = content; this.mResid = id; setCanceledOnTouchOutside(true); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initView(); initData(); } private void initData() { mImageView.setBackgroundResource(mResid); // 通过ImageView对象拿到背景显示的AnimationDrawable mAnimation = (AnimationDrawable) mImageView.getBackground(); // 为了防止在onCreate方法中只显示第一帧的解决方案之一 mImageView.post(new Runnable() { @Override public void run() { mAnimation.start(); } }); mLoadingTv.setText(mLoadingTip); } public void setContent(String str) { mLoadingTv.setText(str); } private void initView() { setContentView(R.layout.progress_dialog); mLoadingTv = (TextView) findViewById(R.id.loading); mImageView = (ImageView) findViewById(R.id.loadingIv); }}
然后在mainactivity中进行引用的package com.xianxiaexample.mylogin;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); CustomProgressDialog dialog =new CustomProgressDialog(this, "正在加载中",R.drawable.anim); dialog.show(); }}布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <ImageView android:id="@+id/loadingIv" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/loading" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
阅读全文
0 0
- 自定义进度动画对话框
- 十七、自定义进度对话框
- 自定义加载进度动画
- android 自定义对话框动画
- 自定义对话框 ,加载动画
- Android自定义圆形按钮点击进度动画
- 自定义水波纹加载进度动画--葫芦
- 透明自定义对话框以及进度对话框的实现
- 透明自定义对话框以及进度对话框的实现
- 自定义对话框之动画效果
- 进度对话框
- Android开发之自定义圆角矩形进度对话框
- android界面之美---自定义网络请求进度加载对话框
- 实现自定义对话框的动画效果:
- 实现自定义对话框中的属性动画
- 实现自定义对话框中的属性动画-续
- Android自定义View二(加载进度动画)
- 自定义控件,动画效果的进度圆环RingProgressBar
- hadoop
- JAVA面试题(线程)
- 编程基本功训练:流程图画法及练习
- Jmeter正则表达式
- Android中Fragment的解析
- 自定义进度动画对话框
- android studio无法联网
- Docker部署(三):Apache Tomcat
- HashSet、LinkedHashSet、TreeSet使用区别
- 静态持续时间
- 左偏树——可并堆
- 2018届校招Andoid开发工程师总结--笔经面经
- laravel框架接入图表Charts模块
- 决斗场