新闻客户端小知识点

最近在写新闻客户端,里面用到了很多小的知识点和方法,为了方便记忆,总结了一下。

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);

你可能感兴趣的:(新闻客户端小知识点)