您的位置:首页 > 移动开发

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

2016-04-15 08:15 309 查看
项目名称:仿团购底部菜单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;

}

}

});

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: