WaveSideBar:基于 Android 的侧边索引栏项目

An Index Side Bar With Wave Effect

分支1Tags0
文件最后提交记录最后更新时间
9 年前
9 年前
9 年前
9 年前
9 年前
9 年前
9 年前
9 年前
9 年前
9 年前
9 年前
9 年前

波浪侧边栏

您可以在应用程序的联系人页面中使用WaveSideBar。
参考:AlexLiuSheng/AnimSideBar

屏幕截图

Screenshot

将WaveSideBar引入项目

通过gradle:

dependencies {
   compile 'com.gjiazhe:wavesidebar:1.3'
}

在布局文件中使用WaveSideBar

<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_size="14sp"
        app:sidebar_text_alignment="center"/>

属性说明

属性名 类型 默认值 描述
sidebar_text_color 颜色 Color.GRAY 侧边栏文字的颜色。
sidebar_text_size 尺寸 14sp 侧边栏文字的大小。
sidebar_max_offset 尺寸 80dp 选中项的最大偏移量。
sidebar_position 枚举 {right, left} right 设置在视图的左边或右边。
sidebar_text_align 枚举 {center, left, right} center 文字对齐方式(居中、左对齐、右对齐)。
sidebar_lazy_respond 布尔值 false 如果__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

WaveSideBar sideBar = (WaveSideBar) findViewById(R.id.side_bar);
sideBar.setOnSelectIndexItemListener(new WaveSideBar.OnSelectIndexItemListener() {
    @Override
    public void onSelectIndexItem(String index) {
        Log.d("WaveSideBar", index);
        // 在这里执行相应操作 ...
    }
});

自定义索引

使用setIndexItems来定制索引。

sideBar.setIndexItems("あ", "か", "さ", "た", "な", "は", "ま", "や", "ら", "わ");

左手模式?

使用setPosition方法更改侧边栏的位置。

sideBar.setPosition(WaveSideBar.POSITION_LEFT);

懒惰响应

使用setLazyRespond设定侧边栏是否应懒惰地响应触摸事件。

sideBar.setLazyRespond(true);

Screenshot

项目介绍

具有波浪效果的索引侧边栏【此简介由AI生成】

定制我的领域
311.26 K195访问 GitHub