其中tab_selector_tv_color.xml主要是用于控制切换的时候显示下面字体的颜色:
<?xml version=``"1.0"
encoding=``"utf-8"``?>
<selector xmlns:android=``"http://schemas.android.com/apk/res/android"``>
<item android:state_checked=``"true"
android:color=``"@android:color/white"``/>
<item android:state_checked=``"false"
android:color=``"@android:color/darker_gray"``/>
<item android:color=``"@android:color/darker_gray"``/>
</selector>
其中tab_selector_checked_bg.xml布局文件选中的时候每个RadioButtton的背景颜色:
<?xml version=``"1.0"
encoding=``"utf-8"``?>
<selector xmlns:android=``"http://schemas.android.com/apk/res/android"
>
<item
android:state_checked=``"true"
android:drawable=``"@drawable/tab_bg_halo"``/>
</selector>
其中tab_selector_weixing.xml主要是点击的时候显示不同的图片,一个是绿色的,一个是白色:
<?xml version=``"1.0"
encoding=``"utf-8"``?>
<selector xmlns:android=``"http://schemas.android.com/apk/res/android"
>
<item android:state_checked=``"false"
android:drawable=``"@drawable/tab_weixin_normal"``></item>
<item android:state_checked=``"true"
android:drawable=``"@drawable/tab_weixin_pressed"``></item>
</selector>
其中需要切换的chat.xml,address.xml,find.xml,me.xml都是一样的,其中chat.xml代码如下:
<?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"
android:orientation=``"vertical"
>
<TextView
android:layout_height=``"wrap_content"
android:layout_width=``"wrap_content"
android:text=``"微信"
android:textSize=``"20sp"
/>
<TextView
android:layout_height=``"wrap_content"
android:layout_width=``"wrap_content"
android:text=``"http://www.cnblogs.com/xiaofeixiang"
android:textSize=``"15sp"
/>
</LinearLayout>
实现Demo
MainActivity.java中的代码,主要的就是设置一下OnCheckedChangeListener,注意MainActivity中需要继承FragmentActivity:
public
void
initView() {
chat = ``new
FragmentChat();
getSupportFragmentManager().beginTransaction().replace(R.id.main_content, chat).commit();
myTabRg = (RadioGroup) findViewById(R.id.tab_menu);
myTabRg.setOnCheckedChangeListener(``new
OnCheckedChangeListener() {
@Override
public
void
onCheckedChanged(RadioGroup group, ``int
checkedId) {
// TODO Auto-generated method stub
switch
(checkedId) {
case
R.id.rbChat:
chat = ``new
FragmentChat();
getSupportFragmentManager().beginTransaction().replace(R.id.main_content, chat)
.commit();
break``;
case
R.id.rbAddress:
if
(address==``null``) {
address =``new
FragmentAddress();
}
Log.i(``"MyFragment"``, ``"FragmentAddress"``);
getSupportFragmentManager().beginTransaction().replace(R.id.main_content, address).commit();
break``;
case
R.id.rbFind:
find = ``new
FragmentFind();
getSupportFragmentManager().beginTransaction().replace(R.id.main_content, find)
.commit();
break``;
case
R.id.rbMe:
me = ``new
FragmentMe();
getSupportFragmentManager().beginTransaction().replace(R.id.main_content, me)
.commit();
break``;
default``:
break``;
}
}
});
FragmentChat中的代码,其余的三个FragmentAddress,FragmentFind,FragmentMe类似,就不贴代码了,主要是继承Fragment 即可:
public
class
FragmentChat ``extends
Fragment {
@Override
public
void
onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super``.onCreate(savedInstanceState);
}
@Override
public
View onCreateView(LayoutInflater inflater,
@Nullable
ViewGroup container, ``@Nullable
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return
inflater.inflate(R.layout.chat, ``null``);
}
}
最后看张通讯录的截图吧:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://i-blog.csdnimg.cn/blog_migrate/e6f0d4388a4c17b24d3d7a19bd885fa9.jpeg)
最后
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
下面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题全套解析,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,下面只是以图片的形式给大家展示一部分。
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
下面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题全套解析,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,下面只是以图片的形式给大家展示一部分。
[外链图片转存中…(img-NDv0j4XP-1712513865867)]
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
[外链图片转存中…(img-Re5Cc14I-1712513865868)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!