引导页底部带点的
来源:互联网 发布:下载个淘宝 编辑:程序博客网 时间:2024/05/09 12:18
代码
public class MainActivity extends AppCompatActivity {
private ViewPager viewpager;
private LinearLayout linear;
private Button button;
private int[] resimage = {R.mipmap.mg3, R.mipmap.mg4, R.mipmap.mg5};
private List<ImageView> imagelist;
private List<ImageView> dotlist;
private LinearLayout linear;
private Button button;
private int[] resimage = {R.mipmap.mg3, R.mipmap.mg4, R.mipmap.mg5};
private List<ImageView> imagelist;
private List<ImageView> dotlist;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initData();
initAdapter();
initListener();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initData();
initAdapter();
initListener();
}
private void initListener() {
viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
for (int i = 0; i < 3; i++) {
if(position==i){
dotlist.get(i).setImageResource(R.drawable.selectdot);
}else{
dotlist.get(i).setImageResource(R.drawable.normaldot);
}
public void onPageSelected(int position) {
for (int i = 0; i < 3; i++) {
if(position==i){
dotlist.get(i).setImageResource(R.drawable.selectdot);
}else{
dotlist.get(i).setImageResource(R.drawable.normaldot);
}
if(position==imagelist.size()-1){
button.setVisibility(View.VISIBLE);
linear.setVisibility(View.GONE);
}else{
button.setVisibility(View.GONE);
linear.setVisibility(View.VISIBLE);
}
}
button.setVisibility(View.VISIBLE);
linear.setVisibility(View.GONE);
}else{
button.setVisibility(View.GONE);
linear.setVisibility(View.VISIBLE);
}
}
}
@Override
public void onPageScrollStateChanged(int state) {
public void onPageScrollStateChanged(int state) {
}
});
});
}
private void initAdapter() {
MyAdapter myAdapter = new MyAdapter(imagelist);
viewpager.setAdapter(myAdapter);
}
MyAdapter myAdapter = new MyAdapter(imagelist);
viewpager.setAdapter(myAdapter);
}
private void initData() {
imagelist = new ArrayList<>();
for (int i = 0; i < 3; i++) {
ImageView imageView = new ImageView(this);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setImageResource(resimage[i]);
imagelist.add(imageView);
}
for (int i = 0; i < 3; i++) {
ImageView imageView = new ImageView(this);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setImageResource(resimage[i]);
imagelist.add(imageView);
}
dotlist = new ArrayList<>();
for (int i = 0; i < 3; i++) {
for (int i = 0; i < 3; i++) {
ImageView imageView = new ImageView(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.leftMargin = 10;
params.rightMargin = 10;
params.width = 30;
params.height = 30;
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.leftMargin = 10;
params.rightMargin = 10;
params.width = 30;
params.height = 30;
imageView.setLayoutParams(params);
if (i == 0) {
imageView.setImageResource(R.drawable.selectdot);
} else {
imageView.setImageResource(R.drawable.normaldot);
}
dotlist.add(imageView);
linear.addView(imageView);
}
if (i == 0) {
imageView.setImageResource(R.drawable.selectdot);
} else {
imageView.setImageResource(R.drawable.normaldot);
}
dotlist.add(imageView);
linear.addView(imageView);
}
}
private void initView() {
viewpager = (ViewPager) findViewById(R.id.viewpager);
linear = (LinearLayout) findViewById(R.id.linear);
button = (Button) findViewById(R.id.btn_enter);
}
}
viewpager = (ViewPager) findViewById(R.id.viewpager);
linear = (LinearLayout) findViewById(R.id.linear);
button = (Button) findViewById(R.id.btn_enter);
}
}
适配器
public class MyAdapter extends PagerAdapter {
private List<ImageView> imagelist;
public MyAdapter(List<ImageView> imagelist) {
this.imagelist = imagelist;
}
this.imagelist = imagelist;
}
@Override
public int getCount() {
return imagelist.size();
}
public int getCount() {
return imagelist.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// super.destroyItem(container, position, object);
container.removeView(imagelist.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
public Object instantiateItem(ViewGroup container, int position) {
container.addView(imagelist.get(position));
return imagelist.get(position);
}
}
return imagelist.get(position);
}
}
drawable里面写
《selectdot》
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<corners android:radius="30dp" />
<solid android:color="#fc05a9" />
</shape>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<corners android:radius="30dp" />
<solid android:color="#fc05a9" />
</shape>
《normaldot》
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
>
<corners android:radius="30dp" />
<solid android:color="#d1d1d1" />
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
>
<corners android:radius="30dp" />
<solid android:color="#d1d1d1" />
</shape>
xml里面写
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.day09viewpagercircle.MainActivity">
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.day09viewpagercircle.MainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"></android.support.v4.view.ViewPager>
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"></android.support.v4.view.ViewPager>
<LinearLayout
android:id="@+id/linear"
android:layout_width="match_parent"
android:layout_height="54dp"
android:orientation="horizontal"
android:layout_gravity="bottom"
android:background="#00acff"></LinearLayout>
android:id="@+id/linear"
android:layout_width="match_parent"
android:layout_height="54dp"
android:orientation="horizontal"
android:layout_gravity="bottom"
android:background="#00acff"></LinearLayout>
<Button
android:visibility="gone"
android:layout_gravity="bottom"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="立即体验"
android:id="@+id/btn_enter"
/>
</FrameLayout>
android:visibility="gone"
android:layout_gravity="bottom"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="立即体验"
android:id="@+id/btn_enter"
/>
</FrameLayout>
阅读全文
0 0
- 引导页底部带点的
- ViewPager实现引导页,底部圆点跟随移动
- 安卓学习记录--引导页底部跟随小圆点
- react native通过react-navigation实现启动页 引导页最后跳转带抽屉的底部导航
- 控件使用(一)---ViewPager实现引导页带监听点
- ViewPager实现引导界面,引导的指针点(Dot)带移动动画
- ViewPager实现带引导小圆点与自动跳转的引导界面
- Android 启动引导页(动态生成底部导航圆点)
- Android 启动引导页(动态生成底部导航圆点)【转】
- 一个带指示器的引导页(ViewPager)
- 一个案例教你简单地玩转ViewPager(一)之带指示点的引导页
- 利用ViewPager实现引导界面+底部小圆点
- 引导页 指示点
- 美团(四)之导航界面底部带小圆点效果的实现
- Android带数字或红点的底部导航拦和联网等待加载动画
- Android实现带Tab页引导的ViewPager
- Android实现带Tab页引导的ViewPager
- Android实现带Tab页引导的ViewPager
- S3C2410 按键控制LED(中断)
- RecycleView 布局布局管理器 上拉加载 下拉刷新
- Windows下单机版Zookeeper下的安装
- Thinkphp3.2.3中的RBAC权限验证
- JSF学习笔记
- 引导页底部带点的
- eclipse,access
- tomcat远程调试
- 阿狗传道——方程术
- Axure rp8.1 注册码
- 零知识证明
- 数据结构之树
- Android多线程之HandlerThread
- IO操作