android 字母索引三方,Android RecyclerView的强大字母索引FastScroller

AlphabetIndex Fast Scroll RecyclerView

A Powerful AlphabetIndex FastScroller for Android's RecyclerView!

625332134c6f4d4600884b99daebf603.png625332134c6f4d4600884b99daebf603.png625332134c6f4d4600884b99daebf603.png

Kindly use the following links to use this library:

In build.gradle (Project)

allprojects {

repositories {

...

maven { url "https://jitpack.io" }

}

}

And then in the other gradle file(may be your app gradle or your own module library gradle, but never add in both of them to avoid conflict.)

dependencies {

compile 'com.github.myinnos:AlphabetIndex-Fast-Scroll-RecyclerView:1.0.92'

}

How to use

Step 1: add this to your xml:

android:id="@+id/fast_scroller_recycler"

android:layout_width="match_parent"

android:layout_height="match_parent" />

Step 2: implement SectionIndexer to RecyclerViewAdapter.

public class RecyclerViewAdapter extends RecyclerView.Adapter implements SectionIndexer {

private List mDataArray;

private ArrayList mSectionPositions;

.....

@Override

public int getSectionForPosition(int position) {

return 0;

}

@Override

public Object[] getSections() {

List sections = new ArrayList<>(26);

mSectionPositions = new ArrayList<>(26);

for (int i = 0, size = mDataArray.size(); i < size; i++) {

String section = String.valueOf(mDataArray.get(i).charAt(0)).toUpperCase();

if (!sections.contains(section)) {

sections.add(section);

mSectionPositions.add(i);

}

}

return sections.toArray(new String[0]);

}

@Override

public int getPositionForSection(int sectionIndex) {

return mSectionPositions.get(sectionIndex);

}

}

Note: mDataArray: this is your recycler data array model.

Features

Change IndexTextSize:

mRecyclerView.setIndexTextSize(12);

Change IndexBarTextColor:

mRecyclerView.setIndexBarTextColor("#FFFFFF");

mRecyclerView.setIndexBarTextColor(R.color.index_bar_text_color);

Change IndexBarColor:

mRecyclerView.setIndexBarColor("#33334c");

mRecyclerView.setIndexBarColor(R.color.index_bar_color);

Change IndexBarCornerRadius:

mRecyclerView.setIndexBarCornerRadius(3);

Change IndexBarTransparentValue:

mRecyclerView.setIndexBarTransparentValue((float) 0.4);

Change IndexbarMargin:

mRecyclerView.setIndexbarMargin(4);

Change IndexbarWidth:

mRecyclerView.setIndexbarWidth(40);

Change PreviewPadding:

mRecyclerView.setPreviewPadding(2);

Change PreviewVisibility:

mRecyclerView.setPreviewVisibility(false);

Change Typeface:

Typeface typeface = Typeface.createFromAsset(context.getAssets(), "Custom-Font.ttf");

mRecyclerView.setTypeface(typeface);

To hide/show Fast Scroll IndexBar:

mRecyclerView.setIndexBarVisibility(true);

Change IndexBarHighLateTextColor:

mRecyclerView.setIndexbarHighLateTextColor("#33334c);

mRecyclerView.setIndexbarHighLateTextColor(R.color.index_bar_highlight_text_color);

To hide/show IndexBarHighLateText:

mRecyclerView.setIndexBarHighLateTextVisibility(true);

Compatibility

This library works with any layout manager but is optimized for the use with a LinearLayoutManager.

Any Queries? or Feedback, please let me know by opening a new issue!

Contact

Prabhakar Thota

Special Contributor

License

Copyright 2017 MyInnos

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 中,ListView 或 RecyclerView 等控件中经常使用字母索引来快速定位列表中的项目。默认情况下,字母索引位于控件的右侧,但是如果你想将字母索引条居中,可以使用以下方法: 1. 自定义字母索引视图 首先,你需要自定义一个包含字母索引的视图。在这个视图中,你可以使用 `android:layout_gravity="center_vertical"` 属性将字母索引居中。 例如,在自定义的字母索引视图中,你可以这样设置: ```xml <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center_vertical"> <!-- 这里可以添加字母索引的内容 --> </LinearLayout> ``` 2. 将自定义的字母索引视图添加到控件中 接下来,你需要将自定义的字母索引视图添加到控件中。你可以使用 `android:layout_gravity="center_vertical"` 属性将自定义的字母索引视图居中。 例如,在 RecyclerView 中,你可以这样设置: ```xml <androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent" ... /> <LinearLayout android:id="@+id/indexLayout" android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_vertical" android:layout_gravity="center_vertical"> <!-- 这里添加自定义的字母索引视图 --> </LinearLayout> ``` 然后,你需要在代码中将自定义的字母索引视图添加到控件中: ```java LinearLayout indexLayout = findViewById(R.id.indexLayout); // 这里使用自定义的字母索引视图 indexLayout.addView(yourCustomIndexView); ``` 这样,你就可以将字母索引条居中了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值