为引导页添加导航点
来源:互联网 发布:淘宝的试用中心在哪里 编辑:程序博客网 时间:2024/05/21 14:56
在guide.xml中添加一个线性布局,再添加三个ImageView:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/viewPager"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:gravity="center_horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/iv1"
android:src="@drawable/login_point_selected"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/iv2"
android:src="@drawable/login_point"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/iv3"
android:src="@drawable/login_point"/>
</LinearLayout>
</RelativeLayout>
核心思想:三个ImageView作为三个空的图片容器用于存放三个点,当显示第一张引导页图片时,就为iv1设置亮点,
iv2和iv3都设置暗点,以此类推。
主Acitivity中把iv1,iv2,iv3找出来,给控件ViewPager添加一个监听器OnPageChangeListener:
public class Guide extends AppCompatActivity implements ViewPager.OnPageChangeListener{
private List<View> views;
private ViewPager vp;
private ViewPagerAdapter viewPagerAdapter;
private ImageView[] dots ;
private int[] ids = {R.id.iv1,R.id.iv2,R.id.iv3};
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.guide);
initView();
initDots();
}
private void initView(){
LayoutInflater inflater = LayoutInflater.from(this);
views = new ArrayList<>();
views.add(inflater.inflate(R.layout.one,null));
views.add(inflater.inflate(R.layout.two,null));
views.add(inflater.inflate(R.layout.three,null));
viewPagerAdapter = new ViewPagerAdapter(views,this);
vp = (ViewPager) findViewById(R.id.viewPager);
vp.setAdapter(viewPagerAdapter);
vp.addOnPageChangeListener(this);
}
private void initDots(){
dots = new ImageView[views.size()];
for (int i = 0;i<views.size();i++){
dots[i] = (ImageView) findViewById(ids[i]);
}
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
for (int i = 0;i<ids.length;i++){
if (position==i){
dots[i].setImageResource(R.drawable.login_point_selected);
}else {
dots[i].setImageResource(R.drawable.login_point);
}
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
}
- 为引导页添加导航点
- 给ViewPager添加引导点
- Andaroid 新手引导页及小圆点添加
- Android 引导页动态添加圆点指示器
- 引导页添加小圆点以及滑动进入主页面
- 为app添加引导页面
- 为第三章引导页添加按钮点击进入MainActivity
- Android 启动引导页(动态生成底部导航圆点)
- Android 启动引导页(动态生成底部导航圆点)【转】
- 引导页 指示点
- 为导航条添加按钮
- 自动添加轮播图导航条(小圆点)
- Android实现慕课网引导页导航效果
- 为图片添加锚点
- 为图片添加锚点
- sharepoint 2007 为导航添加链接不成功
- 为ViewPager添加选项卡导航栏
- storyboard项目添加引导页
- Android 访问res目录下的资源
- StepView(步骤流程的view)
- Is the Name of This Problem
- 生成算法与判别算法
- 为表格添加数据
- 为引导页添加导航点
- Sub Main启动与窗体启动
- linux下shell显示-bash-4.1#不显示路径解决方法
- 【VS开发】【电子电路技术】RJ45以太网传输线研究
- 在Java Web应用程中
- matlab-高数 求二阶导
- springsource-tool-suite-update 最新各个版本下载地址(福利)
- 命令模式(Command)
- leader忙着改C文件和H文件