<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,如需转载请自行联系原作者