SHSegmentControl在github上的项目主页地址:https://github.com/7heaven/SHSegmentControl

SHSegmentControl使用简单,在xml布局文件中即可实现配置。比如,segmentcontrol:texts="A|B|C|D" 
即为在选项切换条中的文本。

测试代码如下:

activity_main.xml:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <!-- segmentcontrol:cornerRadius="5dip" 设置边缘切角 -->
<!-- segmentcontrol:horizonGap="20dip" 设置水平宽度 -->
<!-- segmentcontrol:verticalGap="8dip" 设置一个单元的垂直宽度 -->
<!-- segmentcontrol:direction="horizon" 设置一个单元的水平宽度 --> <com.sevenheaven.segmentcontrol.SegmentControl
xmlns:segmentcontrol="http://schemas.android.com/apk/res-auto"
android:id="@+id/segment_control_horizon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="15sp"
segmentcontrol:colors="#0099CC"
segmentcontrol:cornerRadius="10dip"
segmentcontrol:direction="horizon"
segmentcontrol:horizonGap="20dip"
segmentcontrol:texts="A|B|C|D"
segmentcontrol:verticalGap="8dip" /> <TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:paddingTop="20dp"
android:text="A"
android:textColor="@android:color/holo_red_light"
android:textSize="50sp" /> <com.sevenheaven.segmentcontrol.SegmentControl
xmlns:segmentcontrol="http://schemas.android.com/apk/res-auto"
android:id="@+id/segment_control_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="15sp"
segmentcontrol:colors="@android:color/holo_orange_light"
segmentcontrol:cornerRadius="10dip"
segmentcontrol:direction="vertical"
segmentcontrol:horizonGap="10dip"
segmentcontrol:texts="A|B|C|D"
segmentcontrol:verticalGap="20dip" /> <TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:paddingTop="20dp"
android:text="A"
android:textColor="@android:color/holo_green_light"
android:textSize="50sp" /> </LinearLayout>

activity_main.xml

MainActivity.java:

 package com.zzw.testsegmentcontrol;

 import com.sevenheaven.segmentcontrol.SegmentControl;
import com.sevenheaven.segmentcontrol.SegmentControl.OnSegmentControlClickListener; import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); final TextView textView = (TextView) findViewById(R.id.textView);
final TextView textView1 = (TextView) findViewById(R.id.textView1); SegmentControl segment_control_horizon = (SegmentControl) findViewById(R.id.segment_control_horizon);
SegmentControl segment_control_vertical = (SegmentControl) findViewById(R.id.segment_control_vertical); segment_control_horizon
.setOnSegmentControlClickListener(new OnSegmentControlClickListener() { @Override
public void onSegmentControlClick(int index) {
Log.d("horizon-当前位置", index + "");
switch (index) {
case 0:
textView.setText("A");
break;
case 1:
textView.setText("B");
break;
case 2:
textView.setText("C");
break;
case 3:
textView.setText("D");
break;
}
}
}); segment_control_vertical
.setOnSegmentControlClickListener(new OnSegmentControlClickListener() { @Override
public void onSegmentControlClick(int index) {
Log.d("vertical-当前位置", index + "");
switch (index) {
case 0:
textView1.setText("A");
break;
case 1:
textView1.setText("B");
break;
case 2:
textView1.setText("C");
break;
case 3:
textView1.setText("D");
break;
}
}
});
}
}

选项切换条--第三方开源--SHSegmentControl的更多相关文章

  1. Android第三方开源SwitchButton

    Android第三方开源SwitchButton Android SwitchButton是github上的一个第三方开源项目,其项目主页是:https://github.com/kyleduo/Sw ...

  2. Android第三方开源SeekBarCompat:音乐类播放器等APP进度条常用

     Android第三方开源SeekBarCompat:音乐类播放器等APP进度条常用 Android平台原生的SeekBar设计简单,然而,比如现在流行的一些音乐播放器的播放进度控制条,如果直接使 ...

  3. IOS-常用第三方开源框架介绍

    iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 时间:2015-05-06 16:43:34      阅读:533      评论:0      收藏:0      [点我收藏+] ...

  4. iOS开发-常用第三方开源框架介绍

    iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser        实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...

  5. 基于第三方开源库的OPC服务器开发指南(2)——LightOPC的编译及部署

    前文已经说过,OPC基于微软的DCOM技术,所以开发OPC服务器我们要做的事情就是开发一个基于DCOM的EXE文件.一个代理/存根文件,然后就是写一个OPC客户端测试一下我们的服务器了.对于第一项工作 ...

  6. iOS常用第三方开源框架和优秀开发者博客等

    博客收藏iOS开发过程好的开源框架.开源项目.Xcode工具插件.Mac软件.文章等,会不断更新维护,希望对你们有帮助.如果有推荐或者建议,请到此处提交推荐或者联系我. 该文档已提交GitHub,点击 ...

  7. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

    [原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文  http: ...

  8. Android 第三方开源下拉框:NiceSpinner

    Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Android原生提供的下拉框Spinner所提供的设计样式,而改用自定 ...

  9. iOS - CocoaPods 第三方开源框架管理

    1.CocoaPods CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具.CocoaPods 的项目源码在 Github 上管理.该项目开始于 2011 年 8 月 12 日,在这 ...

随机推荐

  1. Handler发送消息

    Handler发送消息小结 字数283 阅读210 评论0 喜欢1 obtainMessage()得到一个Message对象. 创建一个Message然后发送是这么写的: Message msg = ...

  2. C语言中的命名空间

    C语言中的命名空间 命名空间是为了解决 "在相同作用域内如何区分 相同的标识符". 说明: ①只有在相同作用域的情况下才能使用到命名空间去区分标识符,在嵌套的作用域.不同的作用域区 ...

  3. oracle PL/SQL(procedure language/SQL)程序设计(在PL/SQL中使用SQL)

    在PL/SQL程序中,允许使用的SQL语句只有DML和事务控制语句,使用DDL语句是非法的.使用SELECT语句从数据库中选取数据时,只能返回一行数据.使用COMMIT,  ROLLBACK, 和SA ...

  4. hdu-5690 All X(快速幂+乘法逆元)

    题目链接: All X Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others) Pro ...

  5. poj 3378 二维树状数组

    思路:直接用long long 保存会WA.用下高精度加法就行了. #include<map> #include<set> #include<cmath> #inc ...

  6. 【CSS3】---练习制作导航菜单

    练习题 根据所学知识,使用CSS3实现下图的导航菜单效果 任务 1.制作导航圆角 提示:使用border-radius实现圆角 2.制作导航立体风格 提示:使用box-shadow实现立体风格 3.制 ...

  7. web性能瓶颈

    1.网络,网络不好,其他做得再好,性能也是问题. 其中包括自己的带宽和请求的数量,带宽是我们无法控制的.我们能做的是尽可能的减少不必要的请求. 2.服务器,一个产品,服务器是关键,所有的请求都要经过服 ...

  8. SQL Server 2008 报表服务入门

    目录 报表服务的安装与配置 开发报表的过程 报表制作实例 一.报表服务的安装与配置 1. 报表服务的组件 2. 报表服务 2008 的安装 2.1在SQL Server 2008上安装报表服务有两种方 ...

  9. cocos2d-x中Node中重要的属性

    Node还有两个非常重要的属性:position和anchorPoint. position(位置)属性是Node对象的实际位置.position属性往往还要配合使用anchorPoint属性,为了将 ...

  10. oledb 操作 excel

    oledb excel http://wenku.baidu.com/search?word=oledb%20excel&ie=utf-8&lm=0&od=0 [Asp.net ...