Android选项切换条SHSegmentControl

简介: Android选项切换条SHSegmentControlSHSegmentControl是github上一个开源的选项切换条,其样式如图所示:SHSegmentControl在github上的项目主页地址:https://github.com/7heaven/SHSegmentControlSHSegmentControl使用简单,在xml布局文件中即可实现配置。


Android选项切换条SHSegmentControl

SHSegmentControl是github上一个开源的选项切换条,其样式如图所示:


SHSegmentControl在github上的项目主页地址:https://github.com/7heaven/SHSegmentControl
SHSegmentControl使用简单,在xml布局文件中即可实现配置。比如,segmentcontrol:texts="A|B|C|D"
即为在选项切换条中的文本。
segmentcontrol:verticalGap和segmentcontrol:horizonGap设置选项切换条的高度和其中每一个条目的平均宽度。
通过SHSegmentControl的setOnSegmentControlClickListener(new  OnSegmentControlClickListener ()),为控件增加点击选择触发事件。在回调中,index是从左到右或者自上而下的索引。
现在给出代码实现本文图中所示结果。
布局文件:

<RelativeLayout 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" >

    <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_alignParentTop="true"
        android:textSize="15sp"
        segmentcontrol:colors="#0099CC"
        segmentcontrol:cornerRadius="5dip"
        segmentcontrol:direction="horizon"
        segmentcontrol:horizonGap="20dip"
        segmentcontrol:texts="A|B|C|D"
        segmentcontrol:verticalGap="8dip" />

    <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_centerInParent="true"
        android:textSize="15sp"
        segmentcontrol:colors="#0099CC"
        segmentcontrol:cornerRadius="5dip"
        segmentcontrol:direction="vertical"
        segmentcontrol:horizonGap="30dip"
        segmentcontrol:texts="E|F|G|H"
        segmentcontrol:verticalGap="10dip" />

</RelativeLayout>


Java控制代码:

import com.sevenheaven.segmentcontrol.SegmentControl;
import com.sevenheaven.segmentcontrol.SegmentControl.OnSegmentControlClickListener;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;


public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        SegmentControl segment_control_horizon=(SegmentControl) findViewById(R.id.segment_control_horizon);
        segment_control_horizon.setOnSegmentControlClickListener(new  OnSegmentControlClickListener (){

			@Override
			public void onSegmentControlClick(int index) {
				Toast.makeText(getApplicationContext(), index+"", Toast.LENGTH_SHORT).show();
			}});
        
        SegmentControl segment_control_vertical=(SegmentControl) findViewById(R.id.segment_control_vertical);
        segment_control_vertical.setOnSegmentControlClickListener(new  OnSegmentControlClickListener (){

			@Override
			public void onSegmentControlClick(int index) {
				Toast.makeText(getApplicationContext(), index+"", Toast.LENGTH_SHORT).show();
			}});
    }
}

相关文章
|
8月前
|
Android开发
Android Mediatek 增加Recovery模式下读cmdline的强制工厂重置选项
Android Mediatek 增加Recovery模式下读cmdline的强制工厂重置选项
70 0
|
8月前
|
Java Android开发 开发者
Android10 修改开发者选项中动画缩放默认值
Android10 修改开发者选项中动画缩放默认值
228 0
|
Android开发
Android 中选项菜单(Option menu)的用法
Android 中选项菜单(Option menu)的用法
226 0
|
Java Android开发
【Android 异步操作】Android 线程切换 ( 判定当前线程是否是主线程 | 子线程中执行主线程方法 | 主线程中执行子线程方法 )
【Android 异步操作】Android 线程切换 ( 判定当前线程是否是主线程 | 子线程中执行主线程方法 | 主线程中执行子线程方法 )
496 0
|
开发工具 Android开发 开发者
Appium 移动端自动化 - Android SDK连接安卓手机,adb连接一加8手机USB调试实例演示,连接一加8手机不显示USB调试选项问题排查
Appium 移动端自动化 - Android SDK连接安卓手机,adb连接一加8手机USB调试实例演示,连接一加8手机不显示USB调试选项问题排查
501 0
|
Java Android开发
Android 7.1 导航栏增加按键, 关机菜单增加休眠选项
Android 7.1 导航栏增加按键, 关机菜单增加休眠选项
182 0
Android 7.1 导航栏增加按键, 关机菜单增加休眠选项
|
Android开发
android图片切换ImageSwichter的动画切换效果
android图片切换ImageSwichter的动画切换效果
387 1
|
Java 数据库 开发工具
Android 组件化(一)项目模式管理、模式切换
在进行安装开发的时候我们经常会对项目进行不同业务逻辑处理分包,例如专门处理网络、数据库、业务逻辑代码的,如果我们不分包则所有东西写在一起,势必在开发过程中会浪费很多时间在寻找文件上,而分包的思想源于模块化,例如一些utils类,专门放到一个包下面,这样在使用的时候就能很快找到。节省开发时间,降低后期维护成本,那么组件化是什么?
270 0
Android 组件化(一)项目模式管理、模式切换
android4.2 添加永不休眠选项
android4.2 添加永不休眠选项
100 0
|
前端开发 定位技术 API
Android MVVM框架搭建(九)TabLayout、ViewPager、城市地图天气切换
Android MVVM框架搭建(九)TabLayout、ViewPager、城市地图天气切换
318 0
Android MVVM框架搭建(九)TabLayout、ViewPager、城市地图天气切换