您可以在应用程序的联系人页面中使用WaveSideBar。
参考AlexLiuSheng / AnimSideBar。
用gradle:
dependencies {
compile 'com.gjiazhe:wavesidebar:1.2'
}
<com.gjiazhe.wavesidebar.WaveSideBar
android:id="@+id/side_bar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingRight="8dp"
app:sidebar_position="right"
app:sidebar_max_offset="80dp"
app:sidebar_lazy_respond="false"
app:sidebar_text_color="#8D6E63"
app:sidebar_text_alignment="center"/>
属性 | 格式 | 默认 | 描述 |
---|---|---|---|
sidebar_text_color | 颜色 | Color.GRAY | 文字颜色。 |
sidebar_max_offset | 尺寸 | 80dp | 所选项目的偏移量。 |
sidebar_position | 枚举{right,left} | 对 | 放置在视图中的左侧或右侧。 |
sidebar_text_alignment | 枚举{center,left,right} | 中央 | 项目对齐。 |
sidebar_lazy_respond | 布尔 | 假 | 如果为true,监听器将不会被调用,直到手指向上。如果为false,当手指向下,移动和向上时,监听器将被调用。 |
您可以在布局文件中或在java代码中设置这些属性:
WaveSideBar sideBar = (WaveSideBar) findViewById(R.id.side_bar);
sideBar.setTextColor(Color.BLACK);
sideBar.setMaxOffset(100);
sideBar.setPosition(WaveSideBar.POSITION_LEFT);
sideBar.setTextAlign(WaveSideBar.TEXT_ALIGN_CENTER);
sideBar.setLazyRespond(true);
WaveSideBar sideBar = (WaveSideBar) findViewById(R.id.side_bar);
sideBar.setOnSelectIndexItemListener(new WaveSideBar.OnSelectIndexItemListener() {
@Override
public void onSelectIndexItem(String index) {
Log.d("WaveSideBar", index);
// Do something here ....
}
});
使用setIndexItems自定义索引。
sideBar.setIndexItems("あ", "か", "さ", "た", "な", "は", "ま", "や", "ら", "わ");
使用setPosition更改边栏的位置。
sideBar.setPosition(WaveSideBar.POSITION_LEFT);
使用setLazyRespond设置边栏是否应该延迟响应您的触摸事件。
sideBar.setLazyRespond(true);
热门源码