安卓开发起始页面+引导页+进入主程序

来源:互联网 发布:webservice soap java 编辑:程序博客网 时间:2024/06/05 22:39

   在安卓开发过程中,现在基本上所有app的离不开起始页面和程序刚刚启动的第一次使用引导页面。废话不多说直接上代码!

我们先利用xml把界面设计好,我们用的是viewpager

<?xml version="1.0" encoding="UTF-8"?>-<RelativeLayout android:layout_height="match_parent" android:layout_width="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"><android.support.v4.view.ViewPager android:layout_height="fill_parent" android:layout_width="fill_parent" android:background="#00000000" android:id="@+id/viewpager"> </android.support.v4.view.ViewPager>-<LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/ll" android:orientation="horizontal" android:gravity="center_horizontal" android:layout_alignParentBottom="true"><ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/iv1" android:src="@null"/><ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/iv2" android:src="@null"/><ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/iv3" android:src="@null"/></LinearLayout></RelativeLayout>
 

下面我们先看起始页面class

public class AppStart extends Activity implements OnPageChangeListener {private ViewPager vp;private AppStartAdapter vpAdapter;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);getWindow().requestFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.appstart_guide);initViews();initDots();}private void initViews() {LayoutInflater inflater = LayoutInflater.from(this);views = new ArrayList<View>();views.add(inflater.inflate(R.layout.appstart_one, null));views.add(inflater.inflate(R.layout.appstart_two, null));views.add(inflater.inflate(R.layout.appstart_three, null));vpAdapter = new AppStartAdapter(views, this);vp = (ViewPager) findViewById(R.id.viewpager);vp.setAdapter(vpAdapter);start_btn = (Button) views.get(2).findViewById(R.id.start_btn);start_btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {startActivity(new Intent(AppStart.this,MainActivity.class));finish();}});vp.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);//}}}}

还有就是

public class AppStartAdapter extends PagerAdapter {private List<View> views;private Context context;public AppStartAdapter(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);}}

好了基本代码都已经上传了,如果觉得还可以请多多支持哦!

3 0