zoukankan      html  css  js  c++  java
  • 选项切换条--第三方开源--SHSegmentControl

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

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

    测试代码如下:

    activity_main.xml:

     1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     android:orientation="vertical" >
     6 
     7     <!-- segmentcontrol:cornerRadius="5dip" 设置边缘切角 -->
     8     <!-- segmentcontrol:horizonGap="20dip" 设置水平宽度 -->
     9     <!-- segmentcontrol:verticalGap="8dip" 设置一个单元的垂直宽度 -->
    10     <!-- segmentcontrol:direction="horizon" 设置一个单元的水平宽度 -->
    11 
    12     <com.sevenheaven.segmentcontrol.SegmentControl
    13         xmlns:segmentcontrol="http://schemas.android.com/apk/res-auto"
    14         android:id="@+id/segment_control_horizon"
    15         android:layout_width="wrap_content"
    16         android:layout_height="wrap_content"
    17         android:layout_gravity="center_horizontal"
    18         android:textSize="15sp"
    19         segmentcontrol:colors="#0099CC"
    20         segmentcontrol:cornerRadius="10dip"
    21         segmentcontrol:direction="horizon"
    22         segmentcontrol:horizonGap="20dip"
    23         segmentcontrol:texts="A|B|C|D"
    24         segmentcontrol:verticalGap="8dip" />
    25 
    26     <TextView
    27         android:id="@+id/textView"
    28         android:layout_width="wrap_content"
    29         android:layout_height="wrap_content"
    30         android:layout_gravity="center_horizontal"
    31         android:paddingTop="20dp"
    32         android:text="A"
    33         android:textColor="@android:color/holo_red_light"
    34         android:textSize="50sp" />
    35     
    36     
    37      <com.sevenheaven.segmentcontrol.SegmentControl
    38         xmlns:segmentcontrol="http://schemas.android.com/apk/res-auto"
    39         android:id="@+id/segment_control_vertical"
    40         android:layout_width="wrap_content"
    41         android:layout_height="wrap_content"
    42         android:layout_gravity="center_horizontal"
    43         android:textSize="15sp"
    44         segmentcontrol:colors="@android:color/holo_orange_light"
    45         segmentcontrol:cornerRadius="10dip"
    46         segmentcontrol:direction="vertical"
    47         segmentcontrol:horizonGap="10dip"
    48         segmentcontrol:texts="A|B|C|D"
    49         segmentcontrol:verticalGap="20dip" />
    50      
    51      <TextView
    52         android:id="@+id/textView1"
    53         android:layout_width="wrap_content"
    54         android:layout_height="wrap_content"
    55         android:layout_gravity="center_horizontal"
    56         android:paddingTop="20dp"
    57         android:text="A"
    58         android:textColor="@android:color/holo_green_light"
    59         android:textSize="50sp" />
    60 
    61 </LinearLayout>
    activity_main.xml

    MainActivity.java:

     1 package com.zzw.testsegmentcontrol;
     2 
     3 import com.sevenheaven.segmentcontrol.SegmentControl;
     4 import com.sevenheaven.segmentcontrol.SegmentControl.OnSegmentControlClickListener;
     5 
     6 import android.app.Activity;
     7 import android.os.Bundle;
     8 import android.util.Log;
     9 import android.widget.TextView;
    10 
    11 public class MainActivity extends Activity {
    12 
    13     @Override
    14     protected void onCreate(Bundle savedInstanceState) {
    15         super.onCreate(savedInstanceState);
    16         setContentView(R.layout.activity_main);
    17 
    18         final TextView textView = (TextView) findViewById(R.id.textView);
    19         final TextView textView1 = (TextView) findViewById(R.id.textView1);
    20         
    21         SegmentControl segment_control_horizon = (SegmentControl) findViewById(R.id.segment_control_horizon);
    22         SegmentControl segment_control_vertical = (SegmentControl) findViewById(R.id.segment_control_vertical);
    23         
    24         segment_control_horizon
    25                 .setOnSegmentControlClickListener(new OnSegmentControlClickListener() {
    26 
    27                     @Override
    28                     public void onSegmentControlClick(int index) {
    29                         Log.d("horizon-当前位置", index + "");
    30                         switch (index) {
    31                         case 0:
    32                             textView.setText("A");
    33                             break;
    34                         case 1:
    35                             textView.setText("B");
    36                             break;
    37                         case 2:
    38                             textView.setText("C");
    39                             break;
    40                         case 3:
    41                             textView.setText("D");
    42                             break;
    43                         }
    44                     }
    45                 });
    46         
    47         segment_control_vertical
    48         .setOnSegmentControlClickListener(new OnSegmentControlClickListener() {
    49 
    50             @Override
    51             public void onSegmentControlClick(int index) {
    52                 Log.d("vertical-当前位置", index + "");
    53                 switch (index) {
    54                 case 0:
    55                     textView1.setText("A");
    56                     break;
    57                 case 1:
    58                     textView1.setText("B");
    59                     break;
    60                 case 2:
    61                     textView1.setText("C");
    62                     break;
    63                 case 3:
    64                     textView1.setText("D");
    65                     break;
    66                 }
    67             }
    68         });
    69     }
    70 }
  • 相关阅读:
    javascript函数apply和call
    【剑指offer】面试题42. 连续子数组的最大和
    【SQL】排名
    【剑指offer】面试题21. 调整数组顺序使奇数位于偶数前面
    【剑指offer】 面试题29. 顺时针打印矩阵
    【剑指offer】面试题58
    【剑指offer】面试题34. 二叉树中和为某一值的路径
    【SQL】取第n个
    【剑指offer】面试题55
    【剑指offer】面试题55
  • 原文地址:https://www.cnblogs.com/zzw1994/p/4999360.html
Copyright © 2011-2022 走看看