您的位置:首页 > 其它

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当在英国环境下显示的图片

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: