編輯:關於Android編程
android.support.v4.view.PagerTitleStrip
將Page的Title分離出來的一個自定義View,這樣可以靈活的設置title的樣式、文本。
效果:


xml使用:
android:layout_gravity 控制標題的位置 一般取值為 bottom或top
看到開源項目ImageLoader中使用了這個,找了半天沒看到哪裡findbyid的,
原來在它的源碼裡就把它想成是ViewPager的子控件了。
部份源碼:
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
final ViewParent parent = getParent();
if (!(parent instanceof ViewPager)) {
throw new IllegalStateException(
PagerTitleStrip must be a direct child of a ViewPager.);
}
final ViewPager pager = (ViewPager) parent;
final PagerAdapter adapter = pager.getAdapter();
pager.setInternalPageChangeListener(mPageListener);
pager.setOnAdapterChangeListener(mPageListener);
mPager = pager;
updateAdapter(mWatchingAdapter != null ? mWatchingAdapter.get() : null, adapter);
}
分析:在onAttachedToWindow()時,直接找出parent-view,如果是ViewPager才能使用,否則直接拋出異常。
設置title值
PagerAdapter 裡有一個getPageTitle(),需要重寫它,然後可以根據不同的page返回不同的title。
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return getString(R.string.title_list);
case 1:
return getString(R.string.title_grid);
default:
return null;
}
}
而在PageTitleStrip的updateText()源碼裡,調用了viewPager的adapter.getPageTitle,拿到title並設置。
第三方開源Android TickPlusDrawable狀態可以通過動畫切換的按鈕
先給大家展示下效果圖,對第三方開源 android tickplusdrawable相關知識感興趣的朋友一起學習吧。Android tickplusdrawable(Ti
Android的onConfigurationChanged
在Android開發中,如果某些事件觸發(例如:旋屏事件),則Activity會重新調用onCreate方法,對Activity重新初始化,這樣不僅效率低,而且會造成數據
Android應用 坐標系詳細介紹
Android 應用坐標系詳解: &nb
.Net程序員玩轉Android開發---(17)Handler用法
在android開發中,如果在一個線程中想更新主界面中控件顯示的數據,直接給主界面控件賦值就會出現異常,android中為了安全起見,是不允許在線程中更新界面控件的數據,