如何使用好Fragment?
app UI开发确实不是自己的长处,但是,从产品化的角度看,又必须学习之,并且举一反三用好,
仅记录自己如何使用Fragment。以此记录,了解其基础及本质、希望深入回答activity fragment floatview的交替使用
在资源、效率、场景中使用
如何使用好Fragment?
app UI开发确实不是自己的长处,但是,从产品化的角度看,又必须学习之,并且举一反三用好,
仅记录自己如何使用Fragment。以此记录,了解其基础及本质、希望深入回答activity fragment floaTextiew的交替使用
在资源、效率、场景中使用
package com.example.mainactivity;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TexTextiew;
public class MainActivity extends Activity {
final String TAG = "carl_MainActivity";
TexTextiew mFragment1Text ;
TexTextiew mFragment2Text ;
TexTextiew mFragment3Text ;
FrameLayout mainll ;
FragmentManager manager ;
FragmentTransaction transaction;
Fragment1 fragment1 = null;
Fragment2 fragment2 = null;
Fragment3 fragment3 = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContenTextiew(R.layout.activity_main);
// transaction = manager.beginTransaction();
iniTextiew();
initListener();
initData();
Log.d(TAG,"onCreate");
}
private void initListener() {
mFragment1Text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG,"mFragment1Text");
FragmentTransaction transaction = manager.beginTransaction();
if (fragment2 != null ) {
Log.d(TAG,"mFragment1Text 1 ");
transaction.hide(fragment2);
}
if (fragment3 != null ) {
Log.d(TAG,"mFragment1Text 2 ");
transaction.hide(fragment3);
}
if (fragment1 == null ) {
Log.d(TAG,"mFragment1Text 3 ");
fragment1 = new Fragment1();
transaction.add(R.id.main_ll, fragment1,"3");;
}else {
Log.d(TAG,"mFragment1Text 4 ");
transaction.show(fragment1);
}
Log.d(TAG,"mFragment1Text 5 ");
transaction.commit();
}
});
mFragment2Text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG,"mFragment2Text");
FragmentTransaction transaction = manager.beginTransaction();
if (fragment1 != null ) {
Log.d(TAG,"mFragment2Text 1 " );
transaction.hide(fragment1);
}
if (fragment3 != null ) {
Log.d(TAG,"mFragment2Text 2 ");
transaction.hide(fragment3);
}
if (fragment2 == null ) {
Log.d(TAG,"mFragment2Text 3");
fragment2 = new Fragment2();
transaction.add(R.id.main_ll, fragment2,"2");;
}else {
Log.d(TAG,"mFragment2Text 4 ");
transaction.show(fragment2);
}
Log.d(TAG,"mFragment2Text 5 ");
transaction.commit();
}
});
mFragment3Text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG,"mFragment3Text");
FragmentTransaction transaction = manager.beginTransaction();
if (fragment3 != null ) {
Log.d(TAG,"mFragment3Text 1 ");
transaction.hide(fragment3);
}
if (fragment2 != null ) {
Log.d(TAG,"mFragment3Text 2 ");
transaction.hide(fragment2);
}
if (fragment3 == null ) {
Log.d(TAG,"mFragment3Text 3 ");
fragment3 = new Fragment3();
transaction.add(R.id.main_ll, fragment3,"3");;
}else {
Log.d(TAG,"mFragment3Text 4 ");
transaction.show(fragment3);
}
Log.d(TAG,"mFragment3Text 5 ");
transaction.commit();
}
});
}
private void initData() {
manager = this.getFragmentManager();
}
private void iniTextiew() {
mFragment1Text = (TexTextiew) findViewById(R.id.fragment1_Text);
mFragment2Text = (TexTextiew) findViewById(R.id.fragment2_Text);
mFragment3Text = (TexTextiew) findViewById(R.id.fragment3_Text);
mainll = (FrameLayout) findViewById(R.id.main_ll);
}
@Override
protected void onStart() {
super.onStart();
Log.d(TAG,"onCreate");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d(TAG,"onRestart");
}
@Override
protected void onResume() {
super.onResume();
Log.d(TAG,"onResume");
}
@Override
protected void onPause() {
super.onPause();
Log.d(TAG,"onPause");
}
@Override
protected void onStop() {
super.onStop();
Log.d(TAG,"onStop");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d(TAG,"onDestroy");
}
}

本文详细介绍了在Android应用开发中如何有效利用Fragment组件来优化UI界面切换,提高资源使用效率。通过实例代码展示了Fragment与Activity之间的交互过程,以及如何在不同场景下选择性的显示或隐藏Fragment,从而实现流畅的用户体验。
2680

被折叠的 条评论
为什么被折叠?



