最近在寫(xiě)新聞客戶(hù)端,里面用到了很多小的知識(shí)點(diǎn)和方法,為了方便記憶,總結(jié)了一下。
1.viewGroup.getChildCount()獲得孩子個(gè)數(shù)
2.viewGroup.getChildAt(i)
3.ra.setStartOffset(startOffset); // 設(shè)置動(dòng)畫(huà)延遲啟動(dòng)的時(shí)間
4.ra.setFillAfter(true); // 讓動(dòng)畫(huà)停留在結(jié)束位置
5.divider="@null" 去掉listview分割線
6.有時(shí)候滑動(dòng)ListView整個(gè)背景變?yōu)楹谏? 可以加屬性cacheColorHint修改緩沖區(qū)顏色
android:cacheColorHint="@android:color/transparent"全透明
7.animUp.setFillAfter(true);//保持住動(dòng)畫(huà)結(jié)束的狀態(tài)
ivArrow.clearAnimation();//清理動(dòng)畫(huà)才能隱藏
8.//格式化時(shí)間
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);//設(shè)置縮放模式, 圖片寬高匹配窗體? 把原圖按照指定的大小在View中顯示,拉伸顯示圖片,不保持原比例,填滿(mǎn)ImageView.
android:scaleType="centerCrop" ? 將原圖與ImageView中心點(diǎn)重合按比例縮放,直到填滿(mǎn)ImageView為止(指的是ImageView的寬和高都要填滿(mǎn)),原圖超過(guò)ImageView的部分作裁剪處理。
10.getContext 獲取當(dāng)前對(duì)象所在的上下文
getApplicationContext 獲取整個(gè)應(yīng)用的上下文 ,生命周期是整個(gè)應(yīng)用
11.//計(jì)算圖片占用內(nèi)存大小
int byteCount = value.getRowBytes() * value.getHeight();或者value.getByteCount();高版本api
計(jì)算屏幕密度 density = ctx.getResources().getDisplayMetrics().density;
dp = px / density
12.addHeaderView(heardView);//給listview添加頭布局給listview添加頭,可以添加多個(gè)
? listView.getHeaderViewsCount();獲取listview頭的數(shù)量
? ?addFooterView();//添加腳布局
13.viewPager.getCurrentItem();獲取viewpager的數(shù)量
//mViewPager.setCurrentItem(0);
viewpager.setCurrentItem(0, false);//去掉頁(yè)面切換的動(dòng)畫(huà)
14.獲取寬高的兩種方式:1.手動(dòng)測(cè)量 2.利用視圖樹(shù)
heardView.measure(0,0);// 手動(dòng)測(cè)量, 寬高傳0表示不參與具體寬高的設(shè)定,全由系統(tǒng)決定
//獲取頭布局的高
height = heardView.getMeasuredHeight();
//監(jiān)聽(tīng)layout執(zhí)行結(jié)束的事件, 一旦結(jié)束之后, 在去獲取當(dāng)前的left位置
//視圖樹(shù)
red_point.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
//一旦視圖樹(shù)的layout方法調(diào)用完成, 就會(huì)回調(diào)此方法
@Override
public void onGlobalLayout() {
//布局位置已經(jīng)確定,可以拿到位置信息了
mPointDis = ll_container.getChildAt(1).getLeft()-ll_container.getChildAt(0).getLeft();
//移除觀察者
red_point.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
15.//告訴父控件不要攔截
getParent().requestDisallowInterceptTouchEvent(true);