使用ViewPager制作Android引导界面
生活随笔
收集整理的這篇文章主要介紹了
使用ViewPager制作Android引导界面
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.涉及Android知識點:
????? ViewPager組件、Handler機制、SharedPreferences。
2.開發實踐:
?? a.布局文件設計。
???? 第一個引導界面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>
?? 引導主界面 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設計。
?? 引導界面主類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
c.歡迎界面設計和存儲首次使用程序標記類
?? 歡迎界面類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();}}存儲數據輔助類Config.java
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
??
總結
以上是生活随笔為你收集整理的使用ViewPager制作Android引导界面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tftp ping 不通。无法访问目标主
- 下一篇: 7极限精简版64位_DNF:国服更新64