Android使用ViewPager完成app引導(dǎo)頁(yè)
本文實(shí)例為大家分享了Android使用ViewPager完成app引導(dǎo)頁(yè)的具體代碼,供大家參考,具體內(nèi)容如下

public class MainActivity extends AppCompatActivity {
// int[] resourceId = {
// R.layout.first,
// R.layout.second,
// R.layout.third
// };
List<View> mListView;
ViewPager viewPager;
ViewGroup dotGroup;
List<ImageView> dotImageView = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = findViewById(R.id.main_vp);
dotGroup = findViewById(R.id.dot_layout);
mListView = new ArrayList<>();
for (int index = 0; index < 3; index++) {
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.mipmap.ic_launcher_round);
mListView.add(imageView);
ImageView dot = new ImageView(this);
dot.setImageResource(R.mipmap.cc_dot_o);
dot.setMaxHeight(100);
dot.setMaxWidth(100);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(60, 60);
layoutParams.leftMargin = 85;
dot.setLayoutParams(layoutParams);
dot.setEnabled(false);
dotGroup.addView(dot);
dotImageView.add(dot);
}
myAdapter adapter = new myAdapter();
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(1);
setDotWindow(1);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
//回調(diào)這個(gè)方法
setDotWindow(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
private void setDotWindow(int position) {
for (int index = 0; index < dotImageView.size(); index++) {
dotImageView.get(index).setImageResource(index == position ? R.mipmap.cc_dot : R.mipmap.cc_dot_o);
}
}
class myAdapter extends PagerAdapter {
@Override
public int getCount() {
return mListView.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
View child = mListView.get(position);
container.addView(child);
return child;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView(mListView.get(position));
}
}
}
xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.viewpager.widget.ViewPager
android:id="@+id/main_vp"
android:layout_width="match_parent"
android:layout_height="600dp" />
<LinearLayout
android:id="@+id/dot_layout"
android:layout_width="200dp"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"
android:layout_marginBottom="30dp"
android:orientation="horizontal">
</LinearLayout>
</RelativeLayout>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android使用ViewPager實(shí)現(xiàn)啟動(dòng)引導(dǎo)頁(yè)
- Android自定義引導(dǎo)玩轉(zhuǎn)ViewPager的方法詳解
- Android開(kāi)發(fā)實(shí)戰(zhàn)之漂亮的ViewPager引導(dǎo)頁(yè)
- Android開(kāi)發(fā)實(shí)現(xiàn)的ViewPager引導(dǎo)頁(yè)功能(動(dòng)態(tài)加載指示器)詳解
- ViewPager實(shí)現(xiàn)漂亮的引導(dǎo)頁(yè)
- Android控件ViewPager實(shí)現(xiàn)帶有動(dòng)畫(huà)的引導(dǎo)頁(yè)
- ViewPager實(shí)現(xiàn)帶引導(dǎo)小圓點(diǎn)與自動(dòng)跳轉(zhuǎn)的引導(dǎo)界面
- Android利用ViewPager實(shí)現(xiàn)用戶(hù)引導(dǎo)界面效果的方法
- ViewPager打造輪播圖Banner/引導(dǎo)頁(yè)Guide
- ViewPager實(shí)現(xiàn)輪播圖引導(dǎo)頁(yè)
相關(guān)文章
Android MarkTipsView文字標(biāo)識(shí)控件使用方法
這篇文章主要為大家詳細(xì)介紹了Android MarkTipsView文字標(biāo)識(shí)控件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04
android Matrix實(shí)現(xiàn)圖片隨意放大縮小或拖動(dòng)
這篇文章主要為大家詳細(xì)介紹了android Matrix實(shí)現(xiàn)圖片隨意放大縮小或拖動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
Android TabHost選項(xiàng)卡標(biāo)簽圖標(biāo)始終不出現(xiàn)的解決方法
這篇文章主要介紹了Android TabHost選項(xiàng)卡標(biāo)簽圖標(biāo)始終不出現(xiàn)的解決方法,涉及Android界面布局相關(guān)屬性與狀態(tài)設(shè)置操作技巧,需要的朋友可以參考下2019-03-03
Android實(shí)現(xiàn)短信驗(yàn)證功能的代碼
這篇文章主要介紹了Android實(shí)現(xiàn)短信驗(yàn)證功能的代碼的相關(guān)資料,需要的朋友可以參考下2016-07-07
Android 避免APP啟動(dòng)閃黑屏的解決辦法(Theme和Style)
閃黑屏的原因主要是我們啟動(dòng)Activity的時(shí)候,需要跑完onCreate和onResume才會(huì)顯示界面2013-07-07
Android中的導(dǎo)航navigation的使用詳細(xì)步驟
在Android中,導(dǎo)航主要通過(guò)使用Navigation SDK來(lái)實(shí)現(xiàn),該SDK提供了一組工具和組件,可以幫助開(kāi)發(fā)人員構(gòu)建具有一致性和可訪(fǎng)問(wèn)性的用戶(hù)界面,這篇文章主要介紹了Android中的導(dǎo)航navigation的使用詳細(xì)步驟,需要的朋友可以參考下2024-04-04
Android開(kāi)發(fā)實(shí)現(xiàn)加載網(wǎng)絡(luò)圖片并下載至本地SdCard的方法
這篇文章主要介紹了Android開(kāi)發(fā)實(shí)現(xiàn)加載網(wǎng)絡(luò)圖片并下載至本地SdCard的方法,涉及Android圖片文件的讀取、保存及權(quán)限相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
Android天氣預(yù)報(bào)之基于HttpGet對(duì)象解析天氣數(shù)據(jù)的方法
這篇文章主要介紹了Android天氣預(yù)報(bào)之基于HttpGet對(duì)象解析天氣數(shù)據(jù)的方法,非常實(shí)用的功能,需要的朋友可以參考下2014-08-08
幾個(gè)Android編程時(shí)需要注意的 web 問(wèn)題
這篇文章主要介紹了幾個(gè)Android編程時(shí)需要注意的 web 問(wèn)題,需要的朋友可以參考下2014-12-12

