当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] 此处为显示的布局: 01 android:layout_width="match_parent" 02 android:layout_hei

 此处为显示的布局:

01 android:layout_width="match_parent"
02 android:layout_height="match_parent"
03 android:orientation="vertical" >
04 <RelativeLayout
05     android:layout_width="match_parent"
06     android:layout_height="match_parent" >
07  
08     <android.support.v4.view.ViewPager
09         android:id="@+id/navigation_page"
10         android:layout_width="fill_parent"
11         android:layout_height="fill_parent" />
12  
13     <LinearLayout
14         android:id="@+id/viewGroup"
15         android:layout_width="fill_parent"
16         android:layout_height="wrap_content"
17         android:layout_alignParentBottom="true"
18         android:layout_centerHorizontal="true"
19         android:layout_marginBottom="40dp"
20         android:gravity="center_horizontal"
21         android:orientation="horizontal" >
22     </LinearLayout>

23 </RelativeLayout>

此处为ViewPager中显示的布局:

1 <?xml version="1.0" encoding="utf-8"?>
01 android:layout_width="match_parent"
02 android:layout_height="match_parent" >
03 <ImageView
04     android:id="@+id/img_navigation_page"
05     android:layout_width="match_parent"
06     android:layout_height="match_parent"
07     android:scaleType="fitXY"/>
08  
09 <RelativeLayout
10     android:layout_width="match_parent"
11     android:layout_height="match_parent" >
12  
13     <ImageView
14         android:id="@+id/img_cancel"
15         android:layout_width="25dp"
16         android:layout_height="25dp"
17         android:layout_alignParentRight="true"
18         android:src="@drawable/ic_btn_chat_text" />
19  
20     <Button
21         android:id="@+id/btn_enter"
22         android:layout_width="80dp"
23         android:layout_height="30dp"
24         android:layout_alignParentBottom="true"
25         android:layout_centerHorizontal="true"
26         android:layout_marginBottom="80dp"
27         android:background="@drawable/invite_btn_bg"
28         android:text="@string/trend_navigation"
29         android:textColor="@color/red"
30         android:textSize="15sp"
31         android:visibility="invisible" />

32 </RelativeLayout>

代码部分:

/* 装分页显示的view的数组 /

01 private ArrayList<View> pageViews;
02 private ImageView imageView;
03  
04 /** 将小圆点的图片用数组表示 */
05 private ImageView[] imageViews;
06  
07 // 包裹小圆点的LinearLayout
08 private LinearLayout mViewPoints;
09  
10     //初始化要显示的页面,添加到view集合中
11 private void init(Context context) {
12     // 将要分页显示的View装入数组中
13     pageViews = new ArrayList<View>();
14     pageViews.add(inflater.inflate(R.layout.trend_descript_navigation_item,
15             null));
16     pageViews.add(inflater.inflate(R.layout.trend_descript_navigation_item,
17             null));
18     pageViews.add(inflater.inflate(R.layout.trend_descript_navigation_item,
19             null));
20     pageViews.add(inflater.inflate(R.layout.trend_descript_navigation_item,
21             null));
22     pageViews.add(inflater.inflate(R.layout.trend_descript_navigation_item,
23             null));
24     pageViews.add(inflater.inflate(R.layout.trend_descript_navigation_item,
25             null));
26 }

//初始化显示的控件,有viewpager和显示导航点的linearlayout

private void initView(Context context,View v) {

01 // 创建imageviews数组,大小是要显示的图片的数量
02     imageViews = new ImageView[pageViews.size()];
03     // 实例化小圆点的linearLayout和viewpager
04      mViewPoints = (LinearLayout) v.findViewById(R.id.viewGroup);
05      mViewPager = (ViewPager) v.findViewById(R.id.navigation_page);
06  
07     // 添加小圆点的图片
08     for (int i = 0; i < pageViews.size(); i++) {
09         imageView = new ImageView(context);
10         // 设置小圆点imageview的参数
11         LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
12                 1010);
13         layoutParams.setMargins(5050);
14         imageView.setLayoutParams(layoutParams);// 创建一个宽高均为20 的布局
15         // 将小圆点layout添加到数组中
16         imageViews[i] = imageView;
17         // 默认选中的是第一张图片,此时第一个小圆点是选中状态,其他不是
18         if (i == 0) {
19             imageViews[i]
20                     .setBackgroundResource(R.drawable.indicator_normal_pressed);
21         else {
22             imageViews[i]
23                     .setBackgroundResource(R.drawable.indicator_normal);
24         }
25  
26         // 将imageviews添加到小圆点视图组
27         mViewPoints.addView(imageViews[i]);
28     }
29     // 设置viewpager的适配器和监听事件
30     mViewPager.setAdapter(new NavigationPageAdapter());
31     mViewPager.setOnPageChangeListener(new NavigationPageChangeListener());
32  
33 }
34     //设置要显示的pageradapter类
35 private class NavigationPageAdapter extends PagerAdapter {
36  
37     // 销毁position位置的界面
38     @Override
39     public void destroyItem(View v, int position, Object arg2) {
40         ((ViewPager) v).removeView((View) arg2);
41     }
42  
43     // 获取当前窗体界面数
44     @Override
45     public int getCount() {
46         return pageViews.size();
47     }
48  
49     // 初始化position位置的界面
50     @Override
51     public Object instantiateItem(View v, int position) {
52         View contentView = pageViews.get(position);
53                 /**
54                       *显示页面的相关操作
55                       **/
56         ((ViewPager) v).addView(contentView, 0);
57         return pageViews.get(position);
58     }
59  
60     @Override
61     public boolean isViewFromObject(View v, Object arg1) {
62         return v == arg1;
63     }
64  
65     @Override
66     public void startUpdate(View arg0) {
67     }
68  
69     @Override
70     public int getItemPosition(Object object) {
71         return super.getItemPosition(object);
72     }
73  
74 }
75     //设置viewpager滑动的事件,实现导航点的滚动

private class NavigationPageChangeListener implements OnPageChangeListener {

01 @Override
02     public void onPageScrollStateChanged(int arg0) {
03     }
04  
05     @Override
06     public void onPageScrolled(int arg0, float arg1, int arg2) {
07     }
08  
09     @Override
10     public void onPageSelected(int position) {
11         for (int i = 0; i < imageViews.length; i++) {
12             imageViews[position]
13                     .setBackgroundResource(R.drawable.indicator_normal_pressed);
14             // 不是当前选中的page,其小圆点设置为未选中的状态
15             if (position != i) {
16                 imageViews[i]
17                         .setBackgroundResource(R.drawable.indicator_normal);
18             }
19         }
20     }
21  
22 }
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭