最近在写新闻客户端,里面用到了很多小的知识点和方法,为了方便记忆,总结了一下。
1.viewGroup.getChildCount()获得孩子个数
2.viewGroup.getChildAt(i)
3.ra.setStartOffset(startOffset); // 设置动画延迟启动的时间
4.ra.setFillAfter(true); // 让动画停留在结束位置
5.divider="@null" 去掉listview分割线
6.有时候滑动ListView整个背景变为黑色, 可以加属性cacheColorHint修改缓冲区颜色
android:cacheColorHint="@android:color/transparent"全透明
7.animUp.setFillAfter(true);//保持住动画结束的状态
ivArrow.clearAnimation();//清理动画才能隐藏
8.//格式化时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = format.format(new Date());
tvTime.setText(time);
9.imageView.setScaleType(ImageView.ScaleType.FIT_XY);//设置缩放模式, 图片宽高匹配窗体 把原图按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageView.
android:scaleType="centerCrop" 将原图与ImageView中心点重合按比例缩放,直到填满ImageView为止(指的是ImageView的宽和高都要填满),原图超过ImageView的部分作裁剪处理。
10.getContext 获取当前对象所在的上下文
getApplicationContext 获取整个应用的上下文 ,生命周期是整个应用
11.//计算图片占用内存大小
int byteCount = value.getRowBytes() * value.getHeight();或者value.getByteCount();高版本api
计算屏幕密度 density = ctx.getResources().getDisplayMetrics().density;
dp = px / density
12.addHeaderView(heardView);//给listview添加头布局给listview添加头,可以添加多个
listView.getHeaderViewsCount();获取listview头的数量
addFooterView();//添加脚布局
13.viewPager.getCurrentItem();获取viewpager的数量
//mViewPager.setCurrentItem(0);
viewpager.setCurrentItem(0, false);//去掉页面切换的动画
14.获取宽高的两种方式:1.手动测量 2.利用视图树
heardView.measure(0,0);// 手动测量, 宽高传0表示不参与具体宽高的设定,全由系统决定
//获取头布局的高
height = heardView.getMeasuredHeight();
//监听layout执行结束的事件, 一旦结束之后, 在去获取当前的left位置
//视图树
red_point.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
//一旦视图树的layout方法调用完成, 就会回调此方法
@Override
public void onGlobalLayout() {
//布局位置已经确定,可以拿到位置信息了
mPointDis = ll_container.getChildAt(1).getLeft()-ll_container.getChildAt(0).getLeft();
//移除观察者
red_point.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
15.//告诉父控件不要拦截
getParent().requestDisallowInterceptTouchEvent(true);