asp网站整站下载器,网站免费制作平台,南昌做网站价格,楼书设计素材网站1.涉及Android知识点#xff1a; ViewPager组件、Handler机制、SharedPreferences。
2.开发实践#xff1a; a.布局文件设计。 第一个引导界面one.xml#xff0c;另外两个布局文件类似。 ?xml version1.0 encodingutf-8?
LinearLay…1.涉及Android知识点 ViewPager组件、Handler机制、SharedPreferences。
2.开发实践 a.布局文件设计。 第一个引导界面one.xml另外两个布局文件类似。 ?xml version1.0 encodingutf-8?
LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationvertical ImageViewandroid:layout_widthfill_parentandroid:layout_heightfill_parentandroid:backgrounddrawable/guide_1 //LinearLayout 引导主界面 guide.xml ?xml version1.0 encodingutf-8?
RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent android.support.v4.view.ViewPagerandroid:idid/viewpagerandroid:layout_widthfill_parentandroid:layout_heightfill_parentandroid:background#00000000 /android.support.v4.view.ViewPagerLinearLayoutandroid:idid/llandroid:layout_widthfill_parentandroid:layout_heightwrap_contentandroid:layout_alignParentBottomtrueandroid:gravitycenter_horizontalandroid:orientationhorizontal ImageViewandroid:idid/iv1android:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:srcdrawable/login_point_selected /ImageViewandroid:idid/iv2android:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:srcdrawable/login_point /ImageViewandroid:idid/iv3android:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:srcdrawable/login_point //LinearLayout/RelativeLayoutb.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 ListView 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 ArrayListView();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.javapackage 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 ListView views;private Context context;public ViewPagerAdapter(ListView 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.欢迎界面设计和存储首次使用程序标记类 欢迎界面类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.javapackage 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 version1.0 encodingutf-8?
manifest xmlns:androidhttp://schemas.android.com/apk/res/androidpackagecom.jikexueyuan.viewpagerdemoandroid:versionCode1android:versionName1.0 uses-sdkandroid:minSdkVersion14android:targetSdkVersion14 /applicationandroid:allowBackuptrueandroid:icondrawable/ic_launcherandroid:labelstring/app_nameandroid:themestyle/AppTheme activityandroid:namecom.viewpagerdemo.MainActivityandroid:labelstring/app_name /activityactivity android:namecom.viewpagerdemo.Guide /activityactivity android:namecom.viewpagerdemo.WelcomeAct intent-filteraction android:nameandroid.intent.action.MAIN /category android:nameandroid.intent.category.LAUNCHER //intent-filter/activity/application/manifest大功告成源码下载地址http://download.csdn.net/detail/caihuajian235/8448343