Android中Activity继承思想
来源:互联网 发布:天正电气软件下载 编辑:程序博客网 时间:2024/04/28 13:10
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">今天在android开发技术交流群中有人问了这么一个问题”禁用横竖屏切换需要在没个activity中都添加吗?有的人回答是的,在application中设置就好了。但是博主的第一个想法就是写一个含有禁用横竖屏权限的父类Activity,让所有的子类都继承该Activity就可以实现了禁用横竖屏切换的功能。博主目前还不知道这个功能是怎么实现的,我知道application中有很多的权限,但是博主还处于android的学习阶段,目前并不是很了解,只是针对这个问题有了这么一个activity的继承思想,博主也会找个时间学习了解一下全部的权限然后再分析给大家,希望能一起进步。我想写了这么一个activity不仅仅提高了我们的项目开发效率,提高代码的重用性,减少错误率等等都是有很大的帮助的,下面就是博主写的一个父Activity,这个activity的主要功能是手势识别器,下面代码和详细注释贴上。</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="java">//主要的包,android studio有自动导包的功能,但是有的时候会出现冲突,例如Handle。
import android.content.Intent;import android.os.Bundle;import android.app.Activity;import android.view.GestureDetector;import android.view.MotionEvent;import android.view.View;import android.widget.Toast;//既然是一个Activity 首先必须继承Activity.public abstract class SetupWizardBaseActivity extends Activity {//创建私有手势识别器对象
private GestureDetector gestureDetector;
//实现Activity方法。 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //手势识别器主体实现部分,更多的关于手势识别器的知识请看楼主转载的博客,他写的很好。 gestureDetector=new GestureDetector(this,new GestureDetector.SimpleOnGestureListener() { @Override /* * e1表示滑动的起点 e2滑动终点。 * velocityX表示水平速度 * veloctity表示垂直速度。
<span style="white-space:pre"></span> *这两个速度都是浮点值,如果有需要的话,就比如用户滑得太快了或者太慢了你不想让它识别可以自定义一下其中的功能。<span style="white-space:pre"></span> * */ public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {<span style="white-space:pre"></span> //跳转上一页,向右滑 if(e2.getRawX()-e1.getRawX()>200){ showPriviousPage(); return true; } //跳转下一页,向左滑 if(e1.getRawX()-e2.getRawX()>200){ showNextPage(); return true; } return super.onFling(e1, e2, velocityX, velocityY); } }); }
//因为这个activity用于滑动跳转于不同的页面,所以跳转的页面的功能不能写死了,需要让子类强制实现这两个功能,所以把这两个功能定义为抽象abstract。 public abstract void showNextPage(); public abstract void showPriviousPage();//这两个函数大家可以忽略,因为博主的项目需要所以添加的,其实这里是Button的两个onclick监听功能,大家应该看得出来吧?因为有的用户喜欢点击跳转页面有的喜欢滑
//动跳转页面,所以博主给这个页面添加了两个Button。 public void nextSetup(View view) { showNextPage(); } public void previousSetup(View view) { showPriviousPage(); } @Override //手势识别GestureDctector public boolean onTouchEvent(MotionEvent event) { gestureDetector.onTouchEvent(event);//委托手势识别器处理event事件。 return super.onTouchEvent(event); }}接下来是博主一个子activity继承该父Activity的例子,代码也给大家贴上,看看是不是很简洁!
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="java">import android.content.Intent;import android.os.Bundle;import android.app.Activity;import android.view.View;public class SetupWizard01Activity extends SetupWizardBaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_setup_wizard01); } @Override public void showNextPage() { startActivity(new Intent(this,SetupWizard02Activity.class)); finish(); } @Override public void showPriviousPage() { startActivity(new Intent(this,HomeActivity.class)); finish(); } public void nextSetup(View view){ startActivity(new Intent(SetupWizard01Activity.this,SetupWizard02Activity.class)); finish(); }}
搞定!
<span style="white-space:pre"></span>今天关于Activity的继承思想就先写到这里了,其实类似于自定义的组合控件啊,接口什么的都有继承思想穿梭于其中,博主有时间会将这些东西一一分享给大家,一起进步。
<span style="white-space:pre"></span>2015-12-09
0 0
- Android中Activity继承思想
- android中Activity的方法回调思想
- Android 全屏方法(继承AppCompatActivity;继承Activity)
- Android中style的使用2,样式的继承(借鉴css思想)
- Android中某个类继承PopupWindow,此类跳转到一个Activity中
- Android 如何新建继承Activity的类
- Android Studio修改默认Activity继承AppCompatActivity
- Android Studio修改默认Activity继承AppCompatActivity
- android开发:activity继承AppCompatActivity 去掉标题栏
- Android Studio修改默认Activity继承AppCompatActivity
- Android Studio修改默认Activity继承AppCompatActivity
- android开发:activity继承AppCompatActivity 去掉标题栏
- android开发:activity继承AppCompatActivity 去掉标题栏
- Android 如何新建继承Activity的类
- android开发:activity继承AppCompatActivity 去掉标题栏
- [Android]新建项目继承Activity不继承ActionBarActivity
- android开发不继承ActionBarActivity直接继承Activity的方法
- Android中Style继承
- 初识RecyclerView
- VirtualBox 四种网络连接
- 静态表查找--顺序表的查找(无序)
- ListView绑定适配器出现数组越界问题
- 单例模式
- Android中Activity继承思想
- 正则表达式2
- FrescoSupport使用说明
- 搞懂 AngularJS 預設模組 select 標籤的 ngOptions 參數用法
- vi/vim多行注释和取消注释
- maven异常"Missing artifact..."
- iOS---网页中调用JS与JS注入
- 基于node Express 拦截器的实现
- 利用freemarker 静态化网页