android 之 FragmentLayout的多布局实现
来源:互联网 发布:淘宝怎么修改价钱 编辑:程序博客网 时间:2024/05/16 06:48
1.首先创建一个activity_mainxml文件
2.创建2个FrameLayout.xml
layout_fragment_home.xml 如下:
layout_fragment_me.xml 如下:
再定义FragmentHome:
再定义FragmentMe:
最后MainActivity代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:id=
"@+id/main_root"
tools:context=
".activity.MainActivity"
>
<FrameLayout
android:background=
"@color/titlebar_background"
android:id=
"@+id/fragment_container"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_above=
"@+id/main_bottom_tab"
>
</FrameLayout>
<LinearLayout
android:layout_gravity=
"bottom"
android:gravity=
"center"
android:orientation=
"horizontal"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<Button
android:id=
"@+id/bt_home"
android:text=
"home"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<Button
android:text=
"play"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<Button
android:id=
"@+id/bt_me"
android:text=
"me"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
</LinearLayout>
</FrameLayout>
2.创建2个FrameLayout.xml
layout_fragment_home.xml 如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<TextView
android:textSize=
"130sp"
android:gravity=
"center"
android:text=
"home"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
layout_fragment_me.xml 如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<TextView
android:textSize=
"130sp"
android:gravity=
"center"
android:text=
"me"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
再定义FragmentHome:
1
2
3
4
5
6
7
public
class
FragmentHome
extends
Fragment {
@Override
public
View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.layout_fragment_home, container,
false
);
return
root;
}
再定义FragmentMe:
1
2
3
4
5
6
7
8
9
public
class
FragmentMe
extends
Fragment {
@Override
public
View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.layout_fragment_me, container,
false
);
return
root;
}
}
最后MainActivity代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
public
class
MainActivity
extends
FragmentActivity
implements
View.OnClickListener{
private
FragmentHome _home;
private
FragmentMe _Me;
static
final
String TAG =
"MainActivity"
;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//
Button home = (Button)findViewById(R.id.bt_home);
Button me = (Button)findViewById(R.id.bt_me);
home.setOnClickListener(
this
);
me.setOnClickListener(
this
);
//
initFragmentLayout();
}
@Override
protected
void
onDestroy() {
super
.onDestroy();
}
private
void
initFragmentLayout(){
_home =
new
FragmentHome();
_Me =
new
FragmentMe();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.fragment_container, _home);
ft.add(R.id.fragment_container, _Me);
ft.hide(_Me);
ft.commit();
}
@Override
public
void
onClick(View view){
int
id = view.getId();
switch
(id){
case
R.id.bt_home:{
FragmentTransaction ft1 = getSupportFragmentManager().beginTransaction();
ft1.hide(_Me);
ft1.show(_home);
ft1.commit();
break
;}
case
R.id.bt_me:{
FragmentTransaction ft2 = getSupportFragmentManager().beginTransaction();
ft2.hide(_home);
ft2.show(_Me);
ft2.commit();
}
}
}
}
0 0
- android 之 FragmentLayout的多布局实现
- 关于FragmentLayout布局的位置问题
- Android之路-简单布局的实现
- Android之实现妙趣横生的粘连布局
- Android listview的多布局实现
- Android开发学习之卡片式布局的简单实现
- android之模仿QQ登陆的布局实现
- Android开发学习之卡片式布局的简单实现
- Android布局之相对布局的属性
- Android学习笔记二十五之ListView多布局实现
- Android学习笔记二十五之ListView多布局实现
- Android学习系列(二)布局管理器之线性布局的3种实现方式
- android轮播图点的布局实现
- android的Tab实现布局
- android之【LinearLayout线性布局代码实现】
- android布局之帧布局-----霓虹灯效果实现
- android之网格布局和线性布局实现注册页面
- Android Layout 之 RelativeLayout,代码实现相对布局&android的button设置透明
- 六大设计原则
- hadoop学习之HIVE(3):hadoop2.7.2下安装hive2.1.0并关联mysql数据库
- 解决DIGITALOCEAN后台被墙的两个方法
- Spark实战(2)----hadoop集群框架搭建
- matlab-基础 取整函数 取最近的整数的函数
- android 之 FragmentLayout的多布局实现
- plsql远程连接服务器oracle数据提示字符集错误的解决方法
- Java中的ReentrantLock和synchronized两种锁定机制的对比
- GCD信号量semaphore
- 多线程-CountDownLatch应用
- 安卓中QQ登陆
- hbase KeyValue结构打印
- java设计模式 - 单例模式
- LeetCode70. Climbing Stairs