初学Android Fragment
来源:互联网 发布:个人域名邮箱登录 编辑:程序博客网 时间:2024/09/21 09:02
其实昨天就学了一些,开始根本不知道Fragment到底是个什么东东,反复看老师的视频。
个人理解,Fragment相当于Activity中的一个个模块。类似微信的界面,点击微信,展示微信的Fragment,点击通讯录,展示通讯录的Fragment。。。
下面是一个简单的例子:在主布局上,点击按钮,跳转到另个fragment。
注:Fragment要引用v4.app.FragmentMainActivity:
public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); if(savedInstanceState == null){ getSupportFragmentManager().beginTransaction() .add(R.id.container,new PlaceholdeFragment()) .commit(); } }}
PlaceholdeFragment
public class PlaceholdeFragment extends Fragment { public PlaceholdeFragment(){ } @Override public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle saveInstanceState){ View rootView = inflater.inflate(R.layout.fragment_main,container,false); rootView.findViewById(R.id.btnShowAnotherFragment).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //呈现anotherFragment 首先获取FragmentManager,然后beginTransation开始进行变化,之后将一个新的fragment添加进来,最后提交。 //为何使用replace而不使用add。replace:使用一个新的fragment替换当前,add为直接添加一个新的fragment。因为之前已经有了一个,所以用replace。 getFragmentManager().beginTransaction().replace(R.id.container,new AnotherFragment()).commit();//传主布局的id,和新的fragment } }); return rootView; }}主Fragment的布局:
<LinearLayout 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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context=".MainActivityFragment"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="呈现另一个Fragement" android:id="@+id/btnShowAnotherFragment" android:layout_gravity="center_horizontal" /></LinearLayout>
public class AnotherFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle saveInstanceState){ //初始化布局,需要解析的布局是:R.layout.fragment_another 主布局是:container View root = inflater.inflate(R.layout.fragment_another,container,false); return root; }}
AnotherFragment布局:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="this is another fragment" android:id="@+id/textView" /></LinearLayout>
0 0
- Android 初学Fragment
- 【Android 初学】15、Fragment
- 初学Android Fragment
- 初学android开发--Fragment
- Android初学习 - Fragment解析01
- Android初学习 - Fragment解析02
- Android初学习 - Fragment解析03
- Android初学习 - ViewPager与Fragment初步
- Fragment 初学
- 初学Android之Tablayout+Fragment+ImageLoader(低仿知乎)
- Fragment 初学理解
- Fragment初学7——Fragment在Android开发中的应用1
- Fragment初学8——Fragment在Android开发中的应用2
- Fragment初学1——Fragment简介
- Fragment初学2——使用Fragment
- 初学安卓-----Fragment生命周期
- Android初学
- 初学Android
- 读取LIO创建的fileio backstore的内容
- MySQL备份之mysqldump
- hibernate save() 不能保存实体(能打印sql语句)
- Android进程与线程基本知识
- <s:iterator> status属性
- 初学Android Fragment
- 小米手机发现修改app的icon,icon改变不了。
- IOS开发-设置头像(圆形)
- jquery学习之路 初识jquery!
- Android模拟器--Genymotion
- WebView富文本屏幕适配
- 【Unity Shaders】Using Textures for Effects——通过修改UV坐标来滚动textures
- Highcharts中字符串处理方式(4)
- poj 3907