Android 基本控件的使用四(仿团购底部菜单App)(RadioGroup)

项目名称:仿团购底部菜单Appp

项目功能:通过点击按钮,使 RadioGroup 上面的TextView 的字题颜色 和 背景颜色发生变化 

项目技术:使用 RadioGroup 的互斥的功能来实现的;RadioButton 里头字体颜色的变化和图标颜色的变化使用过 selector 来实现的

注意:给RadioGroup设置的监听为__     OnCheckedChangeListener

开发步骤:

1.写 selector.xml  colors.xml

2.布局

3.声明控件

4.为控件设置监听

界面如下:

代码如下:

deal_selector.xml

<?xmlversion="1.0"encoding="utf-8"?>

<selectorxmlns:android="http://schemas.android.com/apk/res/android">

    

<itemandroid:state_checked="true"

    android:drawable="@drawable/ic_tab_deal_selected"

    ></item>

<item 

    android:drawable="@drawable/ic_tab_deal_unselected"

    ></item>

    

</selector>


nearyby_selector.xml

<?xmlversion="1.0"encoding="utf-8"?>

<selectorxmlns:android="http://schemas.android.com/apk/res/android">

    

<itemandroid:state_checked="true"

    android:drawable="@drawable/ic_tab_nearby_selected"

    ></item>

<item 

    android:drawable="@drawable/ic_tab_nearby_unselected"

    ></item>

    

</selector>


my_selector.xml

<?xmlversion="1.0"encoding="utf-8"?>

<selectorxmlns:android="http://schemas.android.com/apk/res/android">

    

<itemandroid:state_checked="true"

    android:drawable="@drawable/ic_tab_my_selected"

    ></item>

<item 

    android:drawable="@drawable/ic_tab_my_unselected"

    ></item>

    

</selector>



more_selector.xml

<?xmlversion="1.0"encoding="utf-8"?>

<selectorxmlns:android="http://schemas.android.com/apk/res/android">

    

<itemandroid:state_checked="true"

    android:drawable="@drawable/ic_tab_more_selected"

    ></item>

<item 

    android:drawable="@drawable/ic_tab_more_unselected"

    ></item>

    

</selector>



text_color_selector.xml

<?xmlversion="1.0"encoding="utf-8"?>

<selectorxmlns:android="http://schemas.android.com/apk/res/android">


    <itemandroid:state_checked="true"android:color="@color/main_color"></item>

    <itemandroid:color="@color/default_tab_menu_text_color"></item>


</selector>



colors.xml

<?xmlversion="1.0"encoding="utf-8"?>

<resources>

    <color name="main_color">#FF6625</color>

    <colorname="default_tab_menu_text_color">#999999</color>

</resources>



MainActivity.java

package cn.sophia.android;


import android.app.Activity;
import android.os.Bundle;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;
// 当点击radioButton 时候,图标颜色和字体也要发生相应的变化,TextVIew 的字体颜色和 背景颜色也发生相应的变化
public class MainActivity extends Activity {
// 声明控件
private RadioGroup rgTabmenu;
private TextView tvContent;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化控件
rgTabmenu = (RadioGroup) findViewById(R.id.rg_tab_menu);
tvContent = (TextView) findViewById(R.id.tv_content);
// 为控件设置监听
rgTabmenu.setOnCheckedChangeListener(new OnCheckedChangeListener() {


@Override
public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
switch (checkedId) {
case R.id.rb_tab_menu_deal:
tvContent.setText("团购");
tvContent.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_light));
break;


case R.id.rb_tab_menu_nearby:
tvContent.setText("附近");
tvContent.setBackgroundColor(getResources().getColor(android.R.color.holo_green_light));
break;
case R.id.rb_tab_menu_my:
tvContent.setText("我的");
tvContent.setBackgroundColor(getResources().getColor(android.R.color.holo_orange_light));
break;
case R.id.rb_tab_menu_more:
tvContent.setText("更多");
tvContent.setBackgroundColor(getResources().getColor(android.R.color.holo_red_light));
break;


}
}
});
}


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值