Android快速开发框架dyh详解(五)---基础层的使用
转载请注明出处: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() {//初始化控件}}
更多相关文章
- [安卓开发Android][叠层 层叠 卡片效果]RecyclerView与CardView
- Android(安卓)RecyclerView 滑动到指定item(position)并加动画
- tab使用 TabActivity TabHost Tabspec常用方法
- Android下VideoView的研究
- Android--H5交互简介
- Android(安卓)Dialog 生命周期
- Android框架保证View更新必须在主线程的解读
- Android(安卓)读取扫码枪的内容,可以读取条形码 ,二维码
- android中view事件传递