android学习(十八) 添加动画(一)淡入淡出的视图
来源:互联网 发布:php下载文件代码 编辑:程序博客网 时间:2024/06/05 14:22
完成以下文件:
* src/CrossfadeActivity.java
* layout/activity_crossfade.xml
* menu/activity_crossfade.xml
创建视图
创建两个视图要淡入淡出,下面的示例创建进度指示器和一个可滚动的文本视图:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/content"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:lineSpacingMultiplier="1.2" android:text="@string/text" style="?android:textAppearanceMedium" android:padding="16dp"/> </ScrollView> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/loading_spinner" android:layout_gravity="center" style="?android:progressBarStyleLarge"/></FrameLayout>
建立动画
- 为要交叉衰减的意见创建成员变量。修改动画中的观点,当你需要这些引用更高版本。
- 对于正在消失的视图,将其可见性GONE。这防止view占用布局空间所以从计算中省略它,加快处理。
- 缓存config_shortAnimTime 中的成员变量系统属性。此属性为动画标准“短”的持续时间。这个时间是理想的发生非常频繁微妙的动画或动画。config_longAnimTime而和config_mediumAnimTime如果你想使用它们也是可用的。
public class CrossfadeActivity extends AppCompatActivity { private View mContentView; private View mLoadinbgView; //段动画 private int mShortAnimationDuration; ... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_crossfade); mContentView = findViewById(R.id.content); mLoadinbgView = findViewById(R.id.loading_spinner); //最初隐藏内容视图 mContentView.setVisibility(View.GONE); //检索和缓存系统默认的"短"动画时间 mShortAnimationDuration = getResources().getInteger(android.R.integer.config_shortAnimTime); }}
浅入浅出的视图
private void crossfade(){ //将内容视图设置为0%的不透明度,但可见,因此动画中可见(但完全透明)。 mContentView.setAlpha(0f); mContentView.setVisibility(View.VISIBLE); //将内容视图动画为100%的不透明度,并清除视图上设置的任何动画监听器。 mContentView.animate().alpha(1f) .setDuration(mShortAnimationDuration) .setListener(null); //动画加载视图为0%不透明。动画结束后 // ,设置它的可见性为GONE作为优化步骤(它不会参与布局流程等) mLoadinbgView.animate().alpha(0f) .setDuration(mShortAnimationDuration) .setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); mLoadinbgView.setVisibility(View.GONE); } }); }
添加菜单
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_crossfade,menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case R.id.activity_crossfade: crossfade(); break; } return true; }
摘自android developer
0 0
- android学习(十八) 添加动画(一)淡入淡出的视图
- Android 淡入淡出动画
- Android---两个视图间的淡入淡出
- Android AlertDialog淡入淡出动画
- Android Activity淡入淡出动画
- ios 视图的淡入淡出
- jQuery的动画-淡入淡出
- 简单的淡入淡出动画
- android学习(十八) 添加动画(四) 缩放视图
- SDWebImage加载图片添加淡入淡出动画
- #Android笔记#popupwindow淡入淡出动画效果的研究
- Android Animation动画的淡入淡出、旋转、缩放和移动
- 【Android笔记】淡入淡出、上下弹出动画的
- jQuery学习二-简单动画-淡入淡出
- android动画案例,淡入淡出效果
- Android Crossfading animation 淡出淡入动画
- Android实现动画效果之淡入淡出
- Android:简单动画效果-淡入淡出播放
- 排序算法
- 浅谈ScrollView嵌套ListView及ListView嵌套的高度计算
- 分库分表的几种常见形式以及可能遇到的难题
- Go语言实现telnet远程登录
- jenkins+docker+nodejs项目的自动部署环境(案例)
- android学习(十八) 添加动画(一)淡入淡出的视图
- EL表达式 参考手册
- redis事务
- 微信开发:申请新浪云空间
- PHP实现双端队列
- Delphi容器类之---TList、TStringList、TObjectList,以及一个例程的代码分析
- Neural Network Toolbox 使用笔记1:数据拟合
- 蓝牙属性与描述符【Notification与Indication】【 ATTRIBUTE TYPES】【Attribute Grouping】【描述符CCCD定义】【INCLUDE Service】
- 搭建Eclipse开发环境,开发MapReduce程序