转载请注明出处:http://blog.csdn.net/aa464971/article/details/43047543

详解地址:http://www.dyhdyh.com

最新版下载地址:http://www.dyhdyh.com/download

交流QQ群:146261923


dyh自带了一些基本的Activity、Fragment、Dialog、Adapter,以达到增强代码重用性的效果,用于被继承,让子类获得它的方法。

1、Activity

1.1、DyhBaseActivity,包含一些极为常用的方法,使子类Activity的代码更简洁。

1.1.1、Toast,DyhToast

toast("需要显示的内容");
//普通方式toast,传入Context,String或者任何对象DyhToast.toast(context, obj);//在屏幕中央toast,传入Context,String或者任何对象DyhToast.toastCenter(context, obj);

1.1.2、按两次退出程序,重写Activity的onKeyDown方法,调用keyDownTwoExit();

/** * 按两次退出程序 */@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {return keyDownTwoExit(keyCode, event);}

1.1.3、带参数跳转Activity,直接传入activity的class,如果需要带参数跳转,多往方法传2个参数即可。

startActivity(IntentActivity.class);startActivity(IntentActivity.class, "string", "String传值");startActivity(IntentActivity.class, "boolean", true);startActivity(IntentActivity.class, "int", 9999);

1.1.4、获取res文件夹下的内容

//获取res文件夹下strings.xml的值String string = getString(R.string.app_name);//获取res文件夹下drawable文件夹的对应的Drawable对象Drawable drawable = getResDrawable(R.drawable.main_color_text_selector);//获取res文件夹下colors.xml的值int color = getResColor(R.color.main_color_n);//获取res文件夹下dimens.xml的值float dimen = getResDimen(R.dimen.size);//获取assets文件夹里,单个文件的InputStream,传入文件名InputStream is=getAssetsFile("dyh.txt");


1.2、DyhBaseFragmentActivity,继承于FragmentActivity,包含DyhBaseActivity和FragmentActivity的全部功能。使用方法同FragmentActivity。

1.3、DyhFragmentPagerActivity,继承于DyhBaseFragmentActivity,使用方法见第一章。

1.4、DyhFragmentRadioActivity,继承于DyhBaseFragmentActivity,使用方法见第一章。


2、DyhBaseFragment

暂仅增加了toast(text)。


3、Adapter

3.1、DyhBaseAdapter,继承于BaseAdapter,一般用于ListView和GridView。

自带了View重用功能,使用起来也更简单。

public class ListViewAdapter extends DyhBaseAdapter {public ListViewAdapter(Context context, List<String> data) {super(context, data);}/** * 条目的布局id */@Overrideprotected int getItemLayoutId() {//这里返回item的布局return R.layout.item_listview;}/** * 初始化控件容器 */@Overrideprotected Holder initHolder(Holder mHolder, View v) {ViewHolder holder = getViewHolder(mHolder);//把holder内的控件都初始化一遍,并返回holderholder.tv = (TextView) v.findViewById(R.id.tv);return holder;}protected void setViewdata(Holder mHolder, int position) {ViewHolder holder = getViewHolder(mHolder);//可以通过holder操作控件,根据position获取集合内的元素holder.tv.setText((String)data.get(position));}/** * 该方法为固定写法 */@Overrideprotected ViewHolder getViewHolder(Holder holder) {if (holder == null) {return new ViewHolder();} else {return (ViewHolder) holder;}}//需要先定义一个装控件的容器并继承Holderclass ViewHolder extends Holder {TextView tv;}}

4、 DyhBaseDialog,如果构造方法传过来的Activity是DyhBaseActivity,可以通过getActivity()来调用基础Activity的方法。

class MyDialog extends DyhBaseDialog{public MyDialog(Context context) {//如果需要设置Dialog的样式,则传两个参数(context,style),否则只传contextsuper(context,R.style.Theme_Dialog_NoTitle);}@Overrideprotected void onCreate(Bundle savedInstanceState) {//调用父类的onCreate,传入savedInstanceState和Dialog的布局super.onCreate(savedInstanceState, R.layout.dialog_update);}@Overrideprotected void initView() {//初始化控件}}

更多相关文章

  1. [安卓开发Android][叠层 层叠 卡片效果]RecyclerView与CardView
  2. Android(安卓)RecyclerView 滑动到指定item(position)并加动画
  3. tab使用 TabActivity TabHost Tabspec常用方法
  4. Android下VideoView的研究
  5. Android--H5交互简介
  6. Android(安卓)Dialog 生命周期
  7. Android框架保证View更新必须在主线程的解读
  8. Android(安卓)读取扫码枪的内容,可以读取条形码 ,二维码
  9. android中view事件传递

随机推荐

  1. Android 布局的属性
  2. AndroidAndroid程序提示和消息button响应
  3. Android(安卓)CoordinatorLayout 沉浸式
  4. Android(安卓)apk动态加载机制的研究(二):资
  5. Android获取设备信息
  6. Android窗口为弹出框样式
  7. Android(安卓)Studio使用Butterknife时出
  8. Android Studio出现Gradle DSL method no
  9. Android之People&Roles
  10. Android AndroidStudio开发全部套件百度