xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/relOrder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/White"
xmlns:android="http://schemas.android.com/apk/res/android"> <RadioGroup
android:id="@+id/rgTabTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="@dimen/text_padding_small"
android:paddingTop="@dimen/text_padding_small" > <RadioButton
android:id="@+id/rbDoneOrder"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:checked="true"
android:button="@null"
android:gravity="center"
android:padding="0dp"
android:text="@string/order_done"
android:textColor="@drawable/sel_tab_text_color"
android:textSize="@dimen/content_text_size" />
<RadioButton
android:id="@+id/rbGoingOrder"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:button="@null"
android:gravity="center"
android:padding="0dp"
android:text="@string/order_going"
android:textColor="@drawable/sel_tab_text_color"
android:textSize="@dimen/content_text_size" />
</RadioGroup> <LinearLayout
android:id="@+id/indicatorLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/rgTabTitle"
android:orientation="horizontal"
android:weightSum="2" > <View
android:id="@+id/indicatorView"
android:layout_width="0dp"
android:layout_height="@dimen/indicator_height"
android:layout_weight="1.0"
android:background="@color/bg_deep_color" />
</LinearLayout> <View
android:id="@+id/line1"
android:layout_width="match_parent"
android:layout_height="@dimen/divider_line_width"
android:layout_below="@id/indicatorLayout"
android:background="@color/divider_line_color" /> <FrameLayout
android:id="@+id/frContractsHistory"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/line1"
android:layout_marginTop="0dp"
android:layout_marginRight="@dimen/outer_border_width"
android:layout_marginLeft="@dimen/outer_border_width"
android:background="@color/White" > </FrameLayout> </RelativeLayout>

code:

mIndicator = mRootView.findViewById(R.id.indicatorView);//underlne
WindowManager wm = (WindowManager) context //the the width of screen
.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics outMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
mIndicatorStepDistance = outMetrics.widthPixels; mFm =getFragmentManager();
FragmentTransaction mFragmentTrans =mFm.beginTransaction();
mFragmentTrans.add(R.id.frContractsHistory, new OrderContractsLvFragment(R.layout.list_item_contract_done)).commit();
mRgTabs.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup container, int checkedId) {
FragmentTransaction mFragmentTrans =mFm.beginTransaction();
TranslateAnimation anim = null;
switch(checkedId){
case R.id.rbDoneOrder:
Toast.makeText(mContext, "done", Toast.LENGTH_LONG).show();
mFragmentTrans.replace(R.id.frContractsHistory,
new OrderContractsLvFragment(R.layout.list_item_contract_done));
mFragmentTrans.commit();
anim = new TranslateAnimation(mIndicatorStepDistance * mIndicatorPosition, 0, 0, 0);
mIndicatorPosition = 0;
break;
case R.id.rbGoingOrder:
Toast.makeText(mContext, "going", Toast.LENGTH_LONG).show();
mFragmentTrans.replace(R.id.frContractsHistory,
new OrderContractsLvFragment(R.layout.list_item_contract_ongoing));
mFragmentTrans.commit(); anim = new TranslateAnimation(mIndicatorStepDistance * mIndicatorPosition, mIndicatorStepDistance, 0, 0);
mIndicatorPosition = 1;
break;
}
if (anim != null) {
anim.setDuration(300);
anim.setFillAfter(true);
mIndicator.startAnimation(anim);
}
}
});

RadioButton 带下划线切换的案例的更多相关文章

  1. TabTopUnderLineLayout【自定义顶部选项卡(带下划线)】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 自定义顶部选项卡布局LinearLayout类,实现带下划线样式的效果. 备注:如果配合Fragment的话,MainActivit ...

  2. TabTopAutoLayout【自定义顶部选项卡区域(带下划线)(动态选项卡数据且可滑动)】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 自定义顶部选项卡布局LinearLayout类,实现带下划线且可滑动效果.[实际情况中建议使用RecyclerView] 备注:如果 ...

  3. FragmentTabHostUnderLineDemo【FragmentTabHost带下划线】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 使用FragmentTabHost实现顶部选项卡(带下划线效果)展现. 效果图 代码分析 1.该Demo中采用的是FragmentT ...

  4. 关于python中带下划线的变量和函数 的意义

    总结: 变量: 1.  前带_的变量:  标明是一个私有变量, 只用于标明, 外部类还是可以访问到这个变量 2.  前带两个_ ,后带两个_ 的变量:  标明是内置变量, 3.  大写加下划线的变量: ...

  5. delphi 仅带下划线的TEdit控件

    在做录入框的时候,很希望有一个只带下划线的文本框,网上介绍的很多,有自己做组件的,须不知Delphi下只需要简单设置几个属性即可达到目的.

  6. geotools导入shp文件到Oracle数据库时表名带下划线的问题解决

    问题: 最近在做利用geotools导入shp文件到Oracle表中,发现一个问题Oracle表名带下划线时导入失败,问题代码行: dsOracle.getFeatureWriterAppend(or ...

  7. [转]关于python中带下划线的变量和函数的意义

    Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读, ...

  8. Python里的单下划线,双下划线,以及前后都带下划线的意义

    Python里的单下划线,双下划线,以及前后都带下划线的意义: 单下划线如:_name 意思是:不能通过from modules import * 导入,如需导入需要:from modules imp ...

  9. 【转】关于python中带下划线的变量和函数 的意义

    http://www.blogjava.net/lincode/archive/2011/02/02/343859.html 总结: 变量: 1.  前带_的变量:  标明是一个私有变量, 只用于标明 ...

随机推荐

  1. [HNOI2010]合唱队 区间DP

    ---题面--- 题解: 偶然翻到这道题,,,就写了. 观察到一个数被插在哪里只受前一个数的影响,如果明确了前一个数是哪个,那么我们就可以确定大小关系,就可以知道当前这个数插在哪里,而上一个插入的数就 ...

  2. BZOJ1911:[Apio2010]特别行动队——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=1911 又是一个显然的dp……好吧我懒得讲了. s[i]是战斗力前缀和. 我们仍然设k<j< ...

  3. C++中友元简介

    本文基于<C++ Primer(第五版)>,纯属个人笔记整理.若有错误欢迎大家留言指出. 一.为什么要用友元和其缺点? 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员 ...

  4. [Leetcode] single number 找单个数

    Given an array of integers, every element appears twice except for one. Find that single one. Note:  ...

  5. 洛谷 P3242 [HNOI2015]接水果 解题报告

    P3242 [HNOI2015]接水果 题目描述 风见幽香非常喜欢玩一个叫做 \(osu!\) 的游戏,其中她最喜欢玩的模式就是接水果.由于她已经\(DT\) \(FC\) 了\(\tt{The\ b ...

  6. HDOJ(HDU).2044-2049 递推专题

    HDOJ(HDU).2044-2049 递推专题 点我挑战题目 HDU.2044 题意分析 先考虑递推关系:从1到第n个格子的时候由多少种走法? 如图,当n为下方格子的时候,由于只能向右走,所以有2中 ...

  7. MyBatis之二级缓存

    二级缓存与一级缓存区别:二级缓存的范围更大,多个sqlSession可以共享一个UserMapper的二级缓存区域. 每一个mapper都有一个自己的二缓存区域(按namespace区分),两个map ...

  8. warning: React does not recognize the xxx prop on a DOM element

    这是React不能识别dom元素上的非标准attribute报出的警告,最终的渲染结果中React会移除这些非标准的attribute. 通常{...this.props}和cloneElement( ...

  9. POI 2018.10.27

    [POI2015]LOG 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这个序列上,每次选出c个正数,并将它们都减去1,询问能否进 ...

  10. JS中验证URL、图片

    //验证URL function IsURL (str_url) { var strRegex = '^((https|http|ftp|rtsp|mms)?://)' + '?(([0-9a-z_! ...