<a target="_blank" href="http://vaero.blog.51cto.com/4350852/872734"> <b>Android</b><b>自定義元件(一)</b></a>
<b>Android</b><b>自定義元件(二)</b>
<b>4</b><b>)建立布局</b>
注意xmlns:join聲明的命名空間,和格式為:
xmlns:空間名="http://schemas.android.com/apk/res/自定義元件所在包名"
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:join="http://schemas.android.com/apk/res/org.join.effect.widget"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<org.join.effect.widget.tpager.TitleViewPager
android:id="@+id/titleViewPager1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_weight="1"
join:bImage="@drawable/icon"
join:tLayout="@layout/title" >
</org.join.effect.widget.tpager.TitleViewPager>
android:id="@+id/titleViewPager2"
</LinearLayout>
<b>5</b><b>)樣例活動</b>
<b></b>
public class TitleViewPagerActivity extends Activity implements
OnPageChangeListener {
private TitleViewPager titleViewPager1, titleViewPager2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mpager);
// 獲得TitleViewPager1元件
titleViewPager1 = (TitleViewPager) findViewById(R.id.titleViewPager1);
/* 增加其綁定頁面 */
titleViewPager1.addBindedPage(R.layout.page1, R.id.item1);
titleViewPager1.addBindedPage(R.layout.page2, R.id.item2);
titleViewPager1.addBindedPage(R.layout.page3, R.id.item3);
// 獲得TitleViewPager2元件
titleViewPager2 = (TitleViewPager) findViewById(R.id.titleViewPager2);
titleViewPager2.addBindedPage(R.layout.page1, R.id.item1);
titleViewPager2.addBindedPage(R.layout.page2, R.id.item2);
titleViewPager2.addBindedPage(R.layout.page3, R.id.item3);
// 設定頁面變化監聽事件
titleViewPager2.setOnPageChangeListener(this);
}
// Called when the current Window of the activity gains or loses focus.
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
// UI加載完成後的初始化操作
titleViewPager1.setPage(1);
titleViewPager2.setPage(1);
}
public void onPageScrolled(int position, float positionOffset,
int positionOffsetPixels) {
public void onPageSelected(int position) {
ArrayList<View> mItemViews = titleViewPager2.getItemViews();
for (View item : mItemViews) {
item.setBackgroundColor(Color.TRANSPARENT); // 設為透明背景
mItemViews.get(position).setBackgroundColor(Color.BLUE); // 設為藍色背景
public void onPageScrollStateChanged(int state) {
}
<b>三、截圖</b>
1 主界面
<a target="_blank" href="http://blog.51cto.com/attachment/201205/170330338.png"></a>
2 ViewPager綁定标題
<a target="_blank" href="http://blog.51cto.com/attachment/201205/170330786.png"></a>
3 ListView加抽屜
<a target="_blank" href="http://blog.51cto.com/attachment/201205/170330479.png"></a>
4 隐藏更多标題
<a target="_blank" href="http://blog.51cto.com/attachment/201205/170330860.png"></a>
5 實時動态資料線
<a target="_blank" href="http://blog.51cto.com/attachment/201205/170607633.png"></a>
<b>四、後記</b>
這個工程裡的這些元件效果,使用時仍有許多不足之處。總之,是引子,歡迎用上這些樣例小元件~
<a href="http://down.51cto.com/data/2360626" target="_blank">附件:http://down.51cto.com/data/2360626</a>
本文轉自winorlose2000 51CTO部落格,原文連結:http://blog.51cto.com/vaero/872763,如需轉載請自行聯系原作者