1、类通讯录列表筛选组件(SaluLetterSortLayout)
1.1 XML示例
1.1.1 组件引用
<com.salu.saluandroid.views.salusortview.SaluLetterSortLayout
android:id="@+id/flsl_list"
android:layout_width="30dp"
android:layout_height="match_parent"
android:paddingBottom="5dp"
android:paddingTop="5dp"/>
1.1.2 字符指示器
<TextView
android:id="@+id/TV_contact_short_sort"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:gravity="center"
android:textColor="#ffffffff"
android:textSize="30dp"
android:visibility="gone"
/>
1.2 方法
1.2.1 SaluSortBuilder类
该类为排序UI组件的初始化构造类,用于进行用户的自定义,需要将其作为参数传递到该UI组件中。
方法如下:
1、public SaluSortBuilder orientation(int orientation)
设置字符排序方向,参数为int ,SaluFirstLetterSortLayout.HORIZONTAL_RANGE SaluFirstLetterSortLayout.VERTICAL_RANGE。
2、 public SaluSortBuilder displayMode(SaluFirstLetterSortLayout.DisplayMode displayMode)
设置字符列表显示模式,DisplayMode{NUMBER, ALPHA_DOWN,ALPHA_UPPER},支持0-9的数字,大小写字母。
3、public SaluSortBuilder characterColor(int characterColor)
设置字符颜色
4、public SaluSortBuilder firstAlpha(String firstAlpha)
设置自定义首个字符
5、SaluSortBuilder build()//最后调用,构造SaluSortBuilder对象。
1.2.2 SaluFirstLetterSortLayout类
该类为首字母竖排筛选view组件。
方法如下:
public void showLayout(SaluSortBuilder builder);
初始化方法,传入排序UI组件的初始化构造类SaluSortBuilder完成组件设置
public void setOnTouchAlphaChangedListener(OnTouchingAlphaChangedListener onTouchAlphaChangedListener)
当用户在SaluFirstLetterSortLayout上触摸或手指移动时触发该监听器。
1.3 示例
private WeakReference<MainActivity> mReference;
SaluLetterSortLayout saluFirstLetterSortLayout;//通过findViewById
onCreate(){
mReference = new WeakReference<>(this);
SaluSortBuilder builder=new SaluSortBuilder();
builder.displayMode(SaluFirstLetterSortLayout.DisplayMode.ALPHA_UPPER)
.firstAlpha("#")
.orientation(SaluFirstLetterSortLayout.VERTICAL_RANGE)
.build();
saluFirstLetterSortLayout.showLayout(builder);
}
网友评论