日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

使用ViewPager制作Android引导界面

發(fā)布時間:2023/12/10 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用ViewPager制作Android引导界面 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.涉及Android知識點(diǎn):

????? ViewPager組件、Handler機(jī)制、SharedPreferences。

2.開發(fā)實(shí)踐:

?? a.布局文件設(shè)計(jì)。

???? 第一個引導(dǎo)界面one.xml,另外兩個布局文件類似。

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><ImageViewandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@drawable/guide_1" /></LinearLayout>

?? 引導(dǎo)主界面 guide.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.support.v4.view.ViewPagerandroid:id="@+id/viewpager"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#00000000" ></android.support.v4.view.ViewPager><LinearLayoutandroid:id="@+id/ll"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:gravity="center_horizontal"android:orientation="horizontal" ><ImageViewandroid:id="@+id/iv1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/login_point_selected" /><ImageViewandroid:id="@+id/iv2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/login_point" /><ImageViewandroid:id="@+id/iv3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/login_point" /></LinearLayout></RelativeLayout>

b.Activity設(shè)計(jì)。

?? 引導(dǎo)界面主類Guide.java

package com.viewpagerdemo;import java.util.ArrayList; import java.util.List;import com.jikexueyuan.viewpagerdemo.R;import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView;public class Guide extends Activity implements OnPageChangeListener {private ViewPager viewPager;private ViewPagerAdapter viewPagerAdapter;private List<View> views;private ImageView[] dots;private int[] ids = { R.id.iv1, R.id.iv2, R.id.iv3 };private Button start_btn;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.guide);initViews();initDots();}private void initViews() {LayoutInflater inflater = LayoutInflater.from(this);views = new ArrayList<View>();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);viewPager = (ViewPager) findViewById(R.id.viewpager);viewPager.setAdapter(viewPagerAdapter);start_btn = (Button) views.get(2).findViewById(R.id.start_btn);start_btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {Intent i = new Intent(Guide.this, MainActivity.class);startActivity(i);finish();}});viewPager.setOnPageChangeListener(this);}private void initDots() {dots = new ImageView[views.size()];for (int i = 0; i < views.size(); i++) {dots[i] = (ImageView) findViewById(ids[i]);}}@Overridepublic void onPageScrollStateChanged(int arg0) {// TODO Auto-generated method stub}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {// TODO Auto-generated method stub}@Overridepublic void onPageSelected(int arg0) {for (int i = 0; i < ids.length; i++) {if (arg0 == i) {dots[i].setImageResource(R.drawable.login_point_selected);} else {dots[i].setImageResource(R.drawable.login_point);}}}}
? ViewPager的適配器類ViewPagerAdapter.java


package com.viewpagerdemo;import java.util.List;import android.content.Context; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View;public class ViewPagerAdapter extends PagerAdapter {private List<View> views;private Context context;public ViewPagerAdapter(List<View> views, Context context) {this.views = views;this.context = context;}@Overridepublic void destroyItem(View container, int position, Object object) {((ViewPager) container).removeView(views.get(position));}@Overridepublic Object instantiateItem(View container, int position) {((ViewPager) container).addView(views.get(position));return views.get(position);}@Overridepublic int getCount() {return views.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return (arg0 == arg1);}}

c.歡迎界面設(shè)計(jì)和存儲首次使用程序標(biāo)記類

?? 歡迎界面類WelcomeAct.java

package com.viewpagerdemo;import com.jikexueyuan.viewpagerdemo.R; import com.viewpagerdemo.util.Config;import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.os.Handler;public class WelcomeAct extends Activity {private boolean isFirstIn = false;private static final int TIME = 2000;private static final int GO_HOME = 1000;private static final int GO_GUIDE = 1001;private Config config;private Handler mHandler = new Handler(){public void handleMessage(android.os.Message msg) {switch (msg.what) {case GO_HOME:goHome();break;case GO_GUIDE:goGuide();break;}};};@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.welcome);config =new Config(this);init();}private void init(){isFirstIn = config.getBoolean("isFirstIn");if (!isFirstIn) {mHandler.sendEmptyMessageDelayed(GO_HOME, TIME);}else{mHandler.sendEmptyMessageDelayed(GO_GUIDE, TIME);config.putBoolean("isFirstIn", false);}}private void goHome(){Intent i = new Intent(WelcomeAct.this,MainActivity.class);startActivity(i);finish();}private void goGuide(){Intent i = new Intent(WelcomeAct.this,Guide.class);startActivity(i);finish();}}
存儲數(shù)據(jù)輔助類Config.java


package com.viewpagerdemo.util;import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor;public class Config {private static final String CONFIG_NAME = "setting";private SharedPreferences sharedPreferences;private Editor editor ;public Config(Context context){sharedPreferences = context.getSharedPreferences(CONFIG_NAME, Context.MODE_PRIVATE);editor = sharedPreferences.edit();}public void putString(String key,String value){editor.putString(key, value);editor.commit();}public String getString(String key){return sharedPreferences.getString(key, "");}public void putBoolean(String key,boolean value){editor.putBoolean(key, value);editor.commit();}public boolean getBoolean(String key){return sharedPreferences.getBoolean(key, true);} }

d.AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.jikexueyuan.viewpagerdemo"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="14"android:targetSdkVersion="14" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name="com.viewpagerdemo.MainActivity"android:label="@string/app_name" ></activity><activity android:name="com.viewpagerdemo.Guide" ></activity><activity android:name="com.viewpagerdemo.WelcomeAct" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
大功告成,源碼下載地址:http://download.csdn.net/detail/caihuajian235/8448343


??


創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的使用ViewPager制作Android引导界面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。