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開發(fā)實(shí)戰(zhàn)之漂亮的ViewPager引導(dǎo)頁(yè)
- Android開發(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)畫的引導(dǎo)頁(yè)
- ViewPager實(shí)現(xiàn)帶引導(dǎo)小圓點(diǎn)與自動(dòng)跳轉(zhuǎn)的引導(dǎo)界面
- Android利用ViewPager實(shí)現(xiàn)用戶引導(dǎo)界面效果的方法
- ViewPager打造輪播圖Banner/引導(dǎo)頁(yè)Guide
- ViewPager實(shí)現(xiàn)輪播圖引導(dǎo)頁(yè)
相關(guān)文章
Android Studio真機(jī)無線連接USB設(shè)備調(diào)試運(yùn)行詳解流程
你在Android Studio寫app時(shí)是否也有想過如果可以不用數(shù)據(jù)線連接手機(jī)調(diào)試運(yùn)行就好了?如果需要取出數(shù)據(jù)線插接的話我肯定是嫌麻煩的,但是模擬器有時(shí)候需要測(cè)試一些需要硬件支持的功能時(shí)又不管用,所以最好的測(cè)試還是在真機(jī)上,本篇教你扔掉數(shù)據(jù)線來無線調(diào)試2021-11-11
android實(shí)現(xiàn)獲取有線和無線Ip地址的方法
這篇文章主要介紹了android實(shí)現(xiàn)獲取有線和無線Ip地址的方法,較為詳細(xì)的分析了Android獲取IP地址的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08
Android自定義水波紋動(dòng)畫Layout實(shí)例代碼
這篇文章主要介紹了Android自定義水波紋動(dòng)畫Layout的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
android判斷一個(gè)Activity是否處于棧頂?shù)膶?shí)例
下面小編就為大家分享一篇android判斷一個(gè)Activity是否處于棧頂?shù)膶?shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03
Flutter開發(fā)之路由與導(dǎo)航的實(shí)現(xiàn)
這篇文章主要介紹了Flutter開發(fā)之路由與導(dǎo)航的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Android仿QQ長(zhǎng)按彈出刪除復(fù)制框
這篇文章主要為大家詳細(xì)介紹了Android仿QQ長(zhǎng)按彈出刪除、復(fù)制、轉(zhuǎn)發(fā)框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
加載頁(yè)面遮擋耗時(shí)操作任務(wù)頁(yè)面--第三方開源之AndroidProgressLayout
AndroidProgressLayout實(shí)現(xiàn)為界面添加圓形進(jìn)度條。調(diào)用setprogress()方法顯示和隱藏進(jìn)度條,這篇文章主要介紹了加載頁(yè)面遮擋耗時(shí)操作任務(wù)頁(yè)面--第三方開源之AndroidProgressLayout的相關(guān)資料,需要的朋友可以參考下2015-11-11
Android支持國(guó)際化多語言那點(diǎn)事(支持8.0+)
我們?cè)陂_發(fā)app可能會(huì)拓展國(guó)外市場(chǎng),那么對(duì)包含英語在內(nèi)的其它語言支持就很有必要了。這篇文章主要介紹了Android支持國(guó)際化多語言那點(diǎn)事(支持8.0+),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06

