19.android 简单的点击radbutton按钮切换图片,背景颜色

导读:本篇文章讲解 19.android 简单的点击radbutton按钮切换图片,背景颜色,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

//效果是比如底部四个radbutton按钮,点击哪个,哪个换图片,字体颜色,再点别的原先的复原。来回切换的效果,就是qq微信的那种底部效果。

//1.第一步xml布局 写四个radiobuton 默认都是true

<RadioGroup
    android:layout_alignParentBottom="true"
    android:id="@+id/mLin"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <RadioButton
        android:checked="true"
        android:id="@+id/mShouYe"
        android:gravity="center_horizontal"
        android:text="首页"
        android:drawableTop="@drawable/tu_color"
        android:button="@null"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent" />
    <RadioButton
        android:id="@+id/mJiaKaoZhuangJia"
        android:gravity="center_horizontal"
        android:text="按钮二"
        android:drawableTop="@drawable/tu2_color"
        android:button="@null"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent" />
    <RadioButton
        android:id="@+id/mSheQu"
        android:gravity="center_horizontal"
        android:text="按钮三"
        android:drawableTop="@drawable/tu3_color"
        android:button="@null"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent" />
    <RadioButton
        android:id="@+id/mWode"
        android:gravity="center_horizontal"
        android:text="我的"
        android:drawableTop="@drawable/tu4_color"
        android:button="@null"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent" />
</RadioGroup>

//2.第二步再写个drawable里的selector布局

//选中状态是图片home1s

//非选中状态是home1

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:drawable="@mipmap/home1"></item>
    <item android:state_checked="true" android:drawable="@mipmap/home1s"></item>


</selector>

//3.顺带的可以实现一下点击切换fragment

FragmentManager manager=getSupportFragmentManager();
home1Fragment = new Home1Fragment();
home2Fragment = new Home2Fragment();
home3Fragment = new Home3Fragment();
home4Fragment = new Home4Fragment();

manager.beginTransaction()
        .add(R.id.mFrame, home1Fragment)
        .add(R.id.mFrame, home2Fragment)
        .add(R.id.mFrame, home3Fragment)
        .add(R.id.mFrame, home4Fragment)
        .hide(home2Fragment)
        .hide(home3Fragment)
        .hide(home4Fragment)
        .commitAllowingStateLoss();
manager.beginTransaction().hide(home1Fragment).hide(home2Fragment).hide(home3Fragment).hide(home4Fragment).commitAllowingStateLoss();
switch (v.getId()){
    case R.id.mShouYe:
//点哪个 哪个变字体颜色,顺带显示fragment
        mShouYe.setTextColor(Color.parseColor("#3184bc"));
        manager.beginTransaction().show(home1Fragment).commitAllowingStateLoss();
        break;
    case R.id.mJiaKaoZhuangJia:
        mJiaKaoZhuangJia.setTextColor(Color.parseColor("#3184bc"));
        manager.beginTransaction().show(home2Fragment).commitAllowingStateLoss();
        break;
    case R.id.mSheQu:
        mSheQu.setTextColor(Color.parseColor("#3184bc"));
        manager.beginTransaction().show(home3Fragment).commitAllowingStateLoss();
        break;
    case R.id.mWode:
        mWode.setTextColor(Color.parseColor("#3184bc"));
        manager.beginTransaction().show(home4Fragment).commitAllowingStateLoss();
        break;
}

//注意 上面的这种提交:.commitAllowingStateLoss();容易发生一个fragment重叠的问题,所以用:.commit();方式提交。

mManager.beginTransaction().show(dialFragment).commit();

//也可以这样设置颜色:

//tv.setTextColor(this.getResources().getColor(R.color.red));//通过获得资源文件进行设置。

 

//上面的那个切换字体颜色太麻烦,你还可以设置一个字体颜色选择器:font_color.xml,可以顺带点击切换字体颜色。

 

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:color="#AEAEAE"/>
    <item android:state_checked="true" android:color="#00B7FA"/>
    </selector>

//然后在布局调用:android:textColor=”@drawable/font_color”

例如:

<RadioButton
    android:textColor="@drawable/font_color"
    android:id="@+id/mHomeActivity_Customer"
    android:gravity="center_horizontal"
    android:text="@string/Customer"
    android:drawableTop="@drawable/customer"
    android:button="@null"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="match_parent" />

//——————————————————————-完——————————————————————————

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/118373.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!