Activity、Fragment、Dialog基类简单整理
版权声明:本文为HaiyuKing原创文章,转载请注明出处!
概述
这里简单记录下Activity、Fragment、Dialog基类中的常规写法,后续根据项目需求进行相应的扩展。
BaseActivity.java
package com.why.project.myapptemplet.activity; import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Window; /**
* Created by HaiyuKing
* Used
*/
public class BaseActivity extends AppCompatActivity {
private static final String TAG = BaseActivity.class.getSimpleName();
public static int screenWidth;//屏幕宽度
public static int screenHeight;//屏幕高度
public static int screenDendity;//屏幕密度比例
public static int screenDendityDpi;//屏幕密度 @Override
protected void onCreate(Bundle savedInstanceState) { // 去掉标题栏
this.requestWindowFeature(Window.FEATURE_NO_TITLE); //保持屏幕为横屏或者竖屏,禁止旋转
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏
//setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//横屏 //将Acitivity 中的Window 的背景图设置为空,解决Android Activity切换时出现白屏问题
getWindow().setBackgroundDrawable(null); //打印当前活动的activity
Log.d(TAG, getClass().getSimpleName());// 知晓当前是在哪一个活动 //3、获取屏幕宽和高
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
screenWidth = metric.widthPixels;// 屏幕宽度(像素)
screenHeight = metric.heightPixels;//屏幕高度(像素) screenDendity = (int) metric.density;//屏幕密度比例3
screenDendityDpi = metric.densityDpi;//屏幕密度480
super.onCreate(savedInstanceState);
}
}
BaseFragment.java
package com.why.project.myapptemplet.fragment; import android.os.Bundle;
import android.support.v4.app.Fragment; /**
* Used 基础碎片类
*/
public class BaseFragment extends Fragment { //传递过来的参数Bundle,供子类使用
protected Bundle args; /**
* 创建fragment的静态方法,方便传递参数
* @param args 传递的参数
* @return
*/
public static <T extends Fragment>T getInstance(Class clazz, Bundle args) {
T mFragment=null;
try {
mFragment= (T) clazz.newInstance();
} catch (java.lang.InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
mFragment.setArguments(args);
return mFragment;
} /**
* 初始创建Fragment对象时调用
* @param savedInstanceState
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
args = getArguments();
}
}
BaseDialogFragment.java
package com.why.project.myapptemplet.dialog; import android.support.v4.app.DialogFragment; /**
* Created by HaiyuKing
* Used
*/ public class BaseDialogFragment extends DialogFragment { }
参考资料
暂时空缺
项目demo下载地址
https://github.com/haiyuKing/MyAppTemplet
Activity、Fragment、Dialog基类简单整理的更多相关文章
- Android应用Activity、Dialog、PopWindow、Toast窗体加入机制及源代码分析
[工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处.尊重劳动成果] 1 背景 之所以写这一篇博客的原因是由于之前有写过一篇<Android应用setCont ...
- 【Android进阶】为什么要创建Activity基类以及Activity基类中一般有哪些方法
现在也算是刚刚基本完成了自己的第一个商业项目,在开发的过程中,参考了不少人的代码风格,然而随着工作经验的积累,终于开始慢慢的了解到抽象思想在面向对象编程中的重要性,这一篇简单的介绍一下我的一点收获. ...
- 【Android先进】我们为什么要创建Activity基类Activity什么是一般的基类方法
今天,它可以被视为只是基本完成了其首个商业项目,在发展过程中,风格,然而随着工作经验的积累.最终開始慢慢的了解到抽象思想在面向对象编程中的重要性,这一篇简单的介绍一下我的一点收获. 首先,在如今的项目 ...
- 写个Fragment方便的抽象基类 BaseFragment
package com.zb.zhihuianyang.base; import android.app.Activity; import android.os.Bundle; import andr ...
- Android 自定义Activity基类与TitleBar
我们在开发App的时候有时候碰到多个界面有一个共同点的时候,比如,都有相同的TitleBar,并且TitleBar可以设置显示的文字.TitleBar上的点击事件,如果给每一个Activity都写一遍 ...
- Android 自己定义Activity基类
我们在开发App的时候有时候碰到多个界面有一个共同点的时候.比方,都有同样的TitleBar.而且TitleBar能够设置显示的文字.TitleBar上的点击事件,假设给每个Activity都写一遍T ...
- android 在基类activity中注册BroadcastReceiver,子activity类实现响应
android app 一般都会定义自己的BaseActivity, 如果各子Activity都需要接收广播但对广播的处理又不同时,可以考虑在BaseActivity中注册BroadcastRecei ...
- 6、面向对象以及winform的简单运用(抽象基类与接口)
抽象类与抽象方法 1.书写规范: 在类前面加上abstract关键字,就成为了抽象类:在一个方法前面加上abstract关键字,就成为了抽象方法(抽象方法不能有实现方法,直接在后面加分号) 例: ab ...
- IO知识点整理(四种基类的使用)
一:介绍 1.两种基类 字节流 InputStream,OutputStream 字符流 Reader,Writer 二:字符流的基本方法(文字的处理比较常见) 1.Writer的API 2.File ...
随机推荐
- BITE
<Google软件测试之道> 读后感言: p147 提到的BITE实在是太让人心动了, 一个简单的动作即可提交一个信息齐全的bug,连非专业测试人员也能轻松做到.身边很多人也都碰到过提交b ...
- java 自定义的注解有什么作用
转自https://zhidao.baidu.com/question/1668622526729638507.html 自定义注解,可以应用到反射中,比如自己写个小框架. 如实现实体类某些属性不自动 ...
- election.go
package)) ].GetResponseRange().Kvs[] ) ].Value),] } wch := client.Watch(cctx, string ...
- 旅行app(游记、攻略、私人定制) | 顺便游旅行H5移动端实例
<顺便游旅行>是一款H5移动端旅行app,提供目的地(国内.国外.周边)搜索.旅游攻略查询.游记分享.私人定制4大模块,类似携程.同程.去哪儿.马蜂窝移动端,只不过顺便游app界面更为简洁 ...
- 用Service+Broadcast解决倒计时过程中Activity被销毁的问题
主要思想是这样的:将倒计时CountDownTimer放在Service里面进行,每过一秒就一条发广播,在主Activity里注册广播,收到广播后更新UI. 一.写一个类CodeTimerServic ...
- object类和内部类
1.Object object类是所有类的根类(父类). 如果一个类没有显示继承另外一个类,那么该类一定继承于object类. toString()返回对象字符串的的形式. public class ...
- MyBatis中主键回填的两种实现方式
主键回填其实是一个非常常见的需求,特别是在数据添加的过程中,我们经常需要添加完数据之后,需要获取刚刚添加的数据 id,无论是 Jdbc 还是各种各样的数据库框架都对此提供了相关的支持,本文我就来和和大 ...
- 我敢说你不一定完全理解try 块,catch块,finally 块中return的执行顺序
大家好,今天我们来讲一个笔试和面试偶尔都会问到的问题,并且在工作中不知道原理,也会造成滥用. 大家可能都知道,try 块用来捕获异常,catch块是处理try块捕获的异常,finally 块是用来关闭 ...
- ansible工具
关于ansible 在ansible官网上是这样介绍ansible的:Ansible is an IT automation tool. It can configure systems, deplo ...
- 通过href链接实现从当前页面跳转到动态页的指定页面的实现方式
指定页的jsp的href设置 <a href="/lekg/check/shangchuan2.jsp?tabtype=2"><li><img src ...