首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android应用程序引见页面实现 (二)

2013-10-08 
Android应用程序介绍页面实现 (二)在Android应用程序介绍页面实现 (一)中实现了介绍页面的滑动显示,但是在

Android应用程序介绍页面实现 (二)

在Android应用程序介绍页面实现 (一)中实现了介绍页面的滑动显示,但是在大多数介绍页面正下方会通过圆点标签来表示当前页面是第几个页面,每当页面滑动时,圆点标签也会随之切换。

Android应用程序引见页面实现 (二)

界面布局:

public class ShowActivity extends Activity{private static final String TAG = "MainActivity";private ViewPager mViewPager;private ArrayList<View> mPagers;private ImageView[] mImageViews;private LayoutInflater mInflater;private ViewGroup mPointGroup;private ViewGroup mMainGroup;private ImageButton mStartButton;private ImageButton mShareButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);mInflater = getLayoutInflater();Util.Logi(ShowActivity.this, "onCreate", "");/** * 设置窗口显示属性 */requestWindowFeature(Window.FEATURE_NO_TITLE);/** * 加载布局文件,查找控件 */mMainGroup = (ViewGroup)mInflater.inflate(R.layout.activity_main, null);mViewPager = (ViewPager)mMainGroup.findViewById(R.id.picture);mPointGroup = (ViewGroup)mMainGroup.findViewById(R.id.point);mStartButton =(ImageButton)mMainGroup.findViewById(R.id.btnStart);mStartButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubstartActivity(new Intent(ShowActivity.this, LoginActivity.class));}});mShareButton =(ImageButton)mMainGroup.findViewById(R.id.btnShare);        /**         * 加载每个滑动页面的布局文件         */mPagers = new ArrayList<View>();mPagers.add(mInflater.inflate(R.layout.guide1, null));mPagers.add(mInflater.inflate(R.layout.guide2, null));mPagers.add(mInflater.inflate(R.layout.guide3, null));mPagers.add(mInflater.inflate(R.layout.guide4, null));/** * 创建滑动显示小圆点 */mImageViews = new ImageView[mPagers.size()];for (int i = 0; i < mImageViews.length; i++) {ImageView imageView = new ImageView(this);imageView.setLayoutParams(new LayoutParams(20,20));imageView.setPadding(20, 0, 20, 0);   mImageViews[i] = imageView; if (i == 0) {mImageViews[i].setBackgroundResource(R.drawable.green_point);}else {mImageViews[i].setBackgroundResource(R.drawable.gray_point);}mPointGroup.addView(mImageViews[i]);}/** * 设置页面滑动适配器及页面滑动监听器 */mViewPager.setAdapter(new FlipperAdapter());mViewPager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {// TODO Auto-generated method stubUtil.Logi(ShowActivity.this, "onPageSelected", arg0);//切换圆点标签,就是将指定的ImageView的图片换成高亮显示图片for (int i = 0; i < mImageViews.length; i++) {  mImageViews[i].setBackgroundResource(R.drawable.green_point);if (arg0 != i) {   mImageViews[i].setBackgroundResource(R.drawable.gray_point);   }}if (arg0 == mImageViews.length -1) {mStartButton.setVisibility(View.VISIBLE);mShareButton.setVisibility(View.VISIBLE);}else {mStartButton.setVisibility(View.GONE);mShareButton.setVisibility(View.GONE);}}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {// TODO Auto-generated method stub}@Overridepublic void onPageScrollStateChanged(int arg0) {// TODO Auto-generated method stub}});setContentView(mMainGroup);}/** * 返回按键处理 */@Overridepublic void onBackPressed() {// TODO Auto-generated method stub//通过返回键向前翻页int index = mViewPager.getCurrentItem();if ( index-- > 0) {mViewPager.setCurrentItem(index);}else {//如果翻到第一页,则弹出退出对话框Util.Logi(ShowActivity.this, "onBackPressed", "退出应用");View view = mInflater.inflate(R.layout.quit_dialog, null);new AlertDialog.Builder(ShowActivity.this).setTitle("确定退出微博").setIcon(R.drawable.ic_help).setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubfinish();}}).setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubdialog.dismiss();}}).setView(view).show();}}    /**     * 按键处理     */@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubreturn super.onKeyDown(keyCode, event);}class FlipperAdapter extends PagerAdapter{@Overridepublic int getCount() {// TODO Auto-generated method stubreturn mPagers.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {// TODO Auto-generated method stubreturn arg0 == arg1;   }@Overridepublic int getItemPosition(Object object) {// TODO Auto-generated method stubreturn super.getItemPosition(object);}@Overridepublic void destroyItem(View container, int position, Object object) {// TODO Auto-generated method stub((ViewPager) container).removeView(mPagers.get(position));   }@Overridepublic Object instantiateItem(View container, int position) {// TODO Auto-generated method stubLog.i(TAG, "FlipperAdapter");((ViewPager)container).addView(mPagers.get(position));  return mPagers.get(position);  }}}

热点排行