2016年3月1日Android实习笔记
1:经查资料,Android中gif动画加载共有两种
1)利用WebView,WebView 主要调用三个方法:LoadUrl、LoadData、LoadDataWithBaseURL
2)主要用的是:android中的android.graphics.Movie 这个类,这是android提供给我们的一个非常方便的工具。有些注意点 比如API 11Android3.0 Honeycomb (APIlevel11) 之后不能使用硬件渲染。
/*** Starting from HONEYCOMB have to turn off HW acceleration to draw* Movie on Canvas. */ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { setLayerType(View.LAYER_TYPE_SOFTWARE, null); }
需要关闭View组件的硬件渲染。参考如下:
public class FragmentComment extends Fragment {private View rootView;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubrootView = inflater.inflate(R.layout.case_history_comment, null);rootView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);return rootView;}}
参考:http://my.oschina.net/u/143926/blog/173011?fromerr=4flma5q5
最终看到了http://weavora.com/blog/2012/02/07/android-and-how-to-use-animated-gifs/这篇文章中的总结。
第一种 gone 表示不可见并且不占用空间
第二种 visible 表示可见
第三种 invisible 表示不可见但是占用空间
android view setVisibility():
有三个参数:Parameters:visibility One of VISIBLE, INVISIBLE, or GONE,想对应的三个常量值:0、4、8
VISIBLE:0 意思是可见的
INVISIBILITY:4 意思是不可见的,但还占着原来的空间
GONE:8 意思是不可见的,不占用原来的布局空间
这三种情况元素都没有销毁。
1.当动画界面不可见时移除动画
2.测试fragment不可见时是否销毁了所在View
3.代码点击了“病例”按钮进入学习考试栏
CaseHistory.java//滑动切换的时候销毁当前的组件
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {
((ViewPager) container).removeView(viewContainter.get(position));
}
4.修改了Orthodontics类名。
5.解决了Orthodontics类中方案动画点击事件bug。
6.重新写了方案动画的xml文件
7.别忘了禁用View的硬件加速功能 myView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
8. 只能先设置setContentView(R.layout.activity_orthodontics_case);才能用findViewById去获取其中的组件。
更多相关文章
- Android中设置动画循环旋转的方法
- Android studio中相对布局组件排列方式
- android----UI组件
- android开机动画bootanimation
- 补间动画--缩放动画XML
- 直播源码Android实现 曲线路径动画
- Android 修改默认的ProgressBar的动画效果
- android:layout_weight 属性对于组件长度的影响
- Android 之 ImageView(图片组件)