fragment、国际化
2015-11-09 21:35
162 查看
1.创建 fragment 2.activity 引入 fragment组件, 3.实例化 fragment类,开启事务,根据情况进行替换
//根据手机的方向切换 不同的fragment public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //判断手机的方向 int w = getWindowManager().getDefaultDisplay().getWidth(); int h = getWindowManager().getDefaultDisplay().getHeight(); //获取fragment 实例 BlankFragment fragment = new BlankFragment(); BlankFragment2 fragment1 = new BlankFragment2(); //获取fragment 的管理器 FragmentManager fm = (FragmentManager)getFragmentManager(); //开启 事务,因为界面要替换时,要么一起失败,要么一起成功 FragmentTransaction ft = fm.beginTransaction(); if (w > h) { //水平方向 //android.R.id.content :代表当前activity 的界面 ft.replace(android.R.id.content, fragment); } else { //垂直方向 //android.R.id.content :代表当前activity 的界面 ft.replace(android.R.id.content, fragment1); } //提交事务 ft.commit(); }
/** * fragment 生命周期 */ public class BlankFragment6 extends Fragment { public BlankFragment6() { } @Override public void onAttach(Context context) { super.onAttach(context); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } //当 fragment 被创建的时候调用的方法,返回当前的fragment 显示的内容 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_blank_fragment6, container, false); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } @Override public void onStart() { super.onStart(); } @Override public void onResume() { super.onResume(); } @Override public void onPause() { super.onPause(); } @Override public void onStop() { super.onStop(); } @Override public void onDestroyView() { super.onDestroyView(); } @Override public void onDestroy() { super.onDestroy(); } @Override public void onDetach() { super.onDetach(); } }
fragment 之间的通信: /* * 思路: * 1.通过 getActivity() 获取 activity * 2.通过 activity 得到 getFragmentManager 获取 fragment 的管理者 * 3.通过 管理者 获取 另外的 fragment * 4.其他的 fragment 对外暴露一些方法 用于更改自已的 ui 组件 * * / //在当前的 fragment 中获取另一个 fragment Fragment fm = getActivity().getFragmentManager().findFragmentById(R.id.fr1); fm.setString();//调用 另一个fragment 对外暴露的方法文件国际化1.创建文件夹:values-zh :复制一个String.xml :中文2.创建文件夹:values-en :英文图片国际化1.创建文件夹:drawable-en-rCA当在英国环境下显示的图片
相关文章推荐
- 关于更换百度地图默认位置之后如果出现还是先出现北京然后再是当前的地址的问题解决办法
- 拥抱Android:编译nginx搭建移动平台
- Jmeter 安装
- 状态机模式
- hdu 1114 Piggy-Bank
- android面试小得
- 嵌入式系统安全复习(一)
- 框架的重装时代
- IOS 的调试模式
- 从编辑懂工程
- Scrum Meeting---Ten(2015-11-5)
- 黑马程序员——基础知识——继承
- linux文件权限与目录配置
- angular下拉列表
- mysql文件导入到数据库load data infile into table 的使用例子
- 二分图最大匹配总结
- 假设有一个字符串aabcad,请写一段程序,去掉字符串中不相邻的重复字符串,即上述字符串处理之后的输出结果为:aabcd
- 字符串的查找--KMP算法
- 信号的概念
- 消息称能源互联网行动计划大纲正式确定