admin管理员组文章数量:1794759
成品app直播源码,fragment切换 常用写法
成品app直播源码,fragment切换 常用写法相关的代码 layout
<FrameLayout android:id="@+id/main_container" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/view_line"/>Activity onCreate方法
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvMain = (TextView) findViewById(R.id.tv_main); tvMain.setSelected(true);//首页默认选中 tvDynamic = (TextView) findViewById(R.id.tv_dynamic); //默认加载首页 homeFragment = new HomeFragment(); getSupportFragmentManager().beginTransaction().add(R.id.main_container,homeFragment)mit(); tvMain.setOnClickListener(tabClickListener); tvDynamic.setOnClickListener(tabClickListener); } private View.OnClickListener tabClickListener = new View.OnClickListener() { @Override public void onClick(View v) { if (v.getId() != currentId) {//如果当前选中跟上次选中的一样,不需要处理 changeSelect(v.getId());//改变图标跟文字颜色的选中 changeFragment(v.getId());//fragment的切换 currentId = v.getId();//设置选中id } } };改变fragment的显示
private void changeFragment(int resId) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();//开启一个Fragment事务 hideFragments(transaction);//隐藏所有fragment if(resId==R.id.tv_main){//主页 if(homeFragment==null){//如果为空先添加进来.不为空直接显示 homeFragment = new HomeFragment(); transaction.add(R.id.main_container,homeFragment); }else { transaction.show(homeFragment);//显示首页的Fragment } }else if(resId==R.id.tv_dynamic){//动态 if(dynamicFragment==null){ dynamicFragment = new DynamicFragment(); transaction.add(R.id.main_container,dynamicFragment); }else { transaction.show(dynamicFragment); } } transactionmit();//一定要记得提交事务 } }隐藏所有fragment
private void hideFragments(FragmentTransaction transaction){ if (homeFragment != null)//不为空才隐藏,如果不判断第一次会有空指针异常 transaction.hide(homeFragment); if (dynamicFragment != null) transaction.hide(dynamicFragment); }改变TextView选中颜色
private void changeSelect(int resId){ tvMain.setSelected(false); tvDynamic.setSelected(false); switch (resId) { case R.id.tv_main: tvMain.setSelected(true); break; case R.id.tv_dynamic: tvDynamic.setSelected(true); break; } }选中和未选中效果
<TextView android:id="@+id/tv_main" // 图片选择器 android:drawableTop="@drawable/tab_item_main_img_selector" // 图片和文字的间距 android:drawablePadding="@dimen/main_tab_item_image_and_text" // 是否可以为焦点 android:focusable="true" // 文字颜色选择器 android:textColor="@drawable/tabitem_txt_sel" />tab_item_main_img_selector 图片选择器
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="schemas.android/apk/res/android"> <!-- 选中状态显示 --> <item android:drawable="@drawable/icon_tab_main_select" android:state_selected="true"/> <!--非选中状态显示--> <item android:drawable="@drawable/icon_tab_main_normal"/> </selector>tabitem_txt_sel 文字颜色选择器
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="schemas.android/apk/res/android"> <!-- 选中状态 --> <item android:color="@color/main_tab_item_text_select" android:state_selected="true"/> <!--非选中状态--> <item android:color="@color/main_tab_item_text_normal"/> </selector>以上就是成品app直播源码,fragment切换 常用写法相关的代码, 更多内容欢迎关注之后的文章
版权声明:本文标题:成品app直播源码,fragment切换 常用写法 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686525536a77743.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论