Android开发之滑动效果+页面分支跳转
2016-03-24 22:53
561 查看
package com.example.dazhong_client; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { @ViewInject(R.id.btn) private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewUtils.inject(this); } @OnClick(R.id.btn) public void click(View view){ Toast.makeText(MainActivity.this,"实现了点击控件", Toast.LENGTH_SHORT).show(); } }
package com.example.dazhong_client; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; public class WelcomeGuideAct extends Activity{ @ViewInject(R.id.welcome_guide_btn) private Button btn; @ViewInject(R.id.welcome_pager) private ViewPager pager; private List<View> list; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.welcome_guide); ViewUtils.inject(this); initViewPager(); } @OnClick(R.id.welcome_guide_btn) public void click(View view){ //页面跳转 startActivity(new Intent(getBaseContext(),MainActivity.class)); finish(); } //初始化ViewPager的方法 public void initViewPager(){ list=new ArrayList<View>(); ImageView iv=new ImageView(this); iv.setImageResource(R.drawable.welcome_2); list.add(iv); ImageView iv1=new ImageView(this); iv1.setImageResource(R.drawable.welcome_3); list.add(iv1); ImageView iv2=new ImageView(this); iv2.setImageResource(R.drawable.welcome_4); list.add(iv2); pager.setAdapter(new MyPagerAdapter()); //监听ViewPager滑动效果 pager.setOnPageChangeListener(new OnPageChangeListener() { //选中页面 @Override public void onPageSelected(int arg0) { //当选中第三个页面的时候 if(arg0==2){ btn.setVisibility(View.VISIBLE); }else{ btn.setVisibility(View.GONE); } } //滑动页面 @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } //页面滑动状态改变 @Override public void onPageScrollStateChanged(int arg0) { } }); } //定义ViewPager的适配器 class MyPagerAdapter extends PagerAdapter{ //计算需要多少item显示 @Override public int getCount() { // TODO Auto-generated method stub return list.size(); } @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0==arg1; } //初始化ITEM实例的方法 public Object instantiateItem(ViewGroup container,int position){ container.addView(list.get(position)); return list.get(position); } // 销毁ITEM实例的方法 @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO Auto-generated method stub //super.destroyItem(container, position, object); container.removeView(list.get(position)); } } }
package com.example.dazhong_client;
import com.example.dazhong_client.utils.SharedUtils; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.os.Handler; import android.os.Message; public class WelcomStartAct extends Activity{ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.welcome); new Handler(new Handler.Callback() { //处理接收到的消息的方法 @Override public boolean handleMessage(Message arg0) { //实现页面跳转 if(SharedUtils.getWelcomeBoolean(getBaseContext()))//不是第一次启动 { startActivity(new Intent(getApplicationContext(),MainActivity.class)); } else{ startActivity(new Intent(getApplicationContext(),WelcomeGuideAct.class)); //保持访问记录 SharedUtils.putWelcomeBoolean(getBaseContext(), true); } finish(); return false; } }).sendEmptyMessageDelayed(0, 3000); //表示延时三秒进行任务的执行 //使用JAVA中的定时器进行处理 // Timer timer=new Timer(); // timer.schedule(new Task(), 3000); // 定时器延时执行任务方法 } // class Task extends TimerTask{ // @Override // public void run() { // //实现页面跳转 // startActivity(new Intent(getApplicationContext(),MainActivity.class)); // // } // } }
package com.example.dazhong_client.utils; import android.content.Context; import android.content.SharedPreferences.Editor; // 实现标记的写入预读取 public class SharedUtils { private static final String FILE_NAME="dianping"; private static final String MODE_NAME="welcome"; //获取boolean类型的值 public static boolean getWelcomeBoolean(Context context){ return context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE).getBoolean(MODE_NAME, false); } //写入boolean类型的值 public static void putWelcomeBoolean(Context context,boolean isFirst){ Editor editor=context.getSharedPreferences(FILE_NAME, Context.MODE_APPEND).edit(); editor.putBoolean(MODE_NAME,isFirst); editor.commit(); } }
<?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" android:background="@drawable/welcome_1"> </LinearLayout>
<?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:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/welcome_pager" android:layout_width="match_parent" android:layout_height="match_parent"/> <Button android:id="@+id/welcome_guide_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="46dp" android:paddingLeft="30dp" android:paddingRight="30dp" android:visibility="gone" android:text="点击立即进入" /> </RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView1" android:layout_centerHorizontal="true" android:layout_marginTop="107dp" android:text="点击实现效果" /> </RelativeLayout>
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.dazhong_client" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="16" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.dazhong_client.WelcomStartAct" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.dazhong_client.MainActivity"></activity> <activity android:name="com.example.dazhong_client.WelcomeGuideAct"> </activity> </application> </manifest>
相关文章推荐
- AndroidStudio下快速生成Model,如何为Model瘦身
- The following classes could not be found: - android.support.v7.internal.widget.ActionBarOverlayLayou
- Android开发之三种动画
- Android入门教程 MediaPlayer教程【使用进度条】
- Android视频推流直播学习【四】
- Android中进度条ProgressBar的使用
- Android存储数据到SQLite数据库
- 插件化研究之Activity注册
- Android的时间显示
- Android开发 Intent启动activity的正确姿势
- android socket 发送数据问题记录
- 在android平台使用Eigen
- Android Ndk
- Android技术积累:开发规范
- android 中Activity 加载Fragment ;Fragment中加载ViewPager
- android 添加监听器失败
- 在Android Studio中查看Sqlite数据内容的方法
- [android] 在不同的activity之间传递数据
- Android中layout-sw600dp、layout-w600dp和layout-h600dp的区别
- Android消息机制中Handler切换线程的思考