Comments (26)
如果没有索引貌似是等分的 是咋回事?
from indexablerecyclerview.
另外 顶部的变色 里面的字母不变色又怎么做
from indexablerecyclerview.
以及索引 baner如果上部分不要遮盖字母又如何控制。
from indexablerecyclerview.
还有一个坑 就是间距,gridview上下间距 如何控制等分 比如控制了上面 你会发现没有交集的地方和交集的地方会出现宽高不一致,但是通过标题栏底部设置padding。解决,但是置顶的标题栏估计也是用的一样的样式吧。
from indexablerecyclerview.
RecyclerView对 Grid的各种间距控制和GridView
这个组件有一些区别的;
变色的问题没懂你的意思;
baner是指IndexBar吗? 上部分不遮盖可以通过indexBar_textSpace
属性来调整曲线实现
我看你的需求挺特别的, 这个库出发点是简单构建出可索引的城市选择、通讯录选择的页面;所以IndexBar等都集成到IndexableLayout里的。
更具拓展性的做法其实是IndexBar和RecyclerView分离, 如果你的场景比较复杂,你可以fork下修改源码,或者自己实现
近期个人工作比较忙,可能没太多时间去维护该库 望见谅~ 😢
from indexablerecyclerview.
上面那个自适应可以,原来这个和设计师设计的不同设计师认为这字母不应该覆盖在上面。 不然不好看 ,表格布局确实是。
不过设置padding可以解决,另外gridview还发现一个问题 4个格子是通过match_parent弄的,滑动的时候无意中发现 有的变小了。
from indexablerecyclerview.
请问 indexBar_textSpace 大概调整多少呢? 我设置padding也能解决就是不知道右边那个条的宽度是多少
from indexablerecyclerview.
https://attachments.tower.im/tower/8ed2ee618fa74d45ad6c1302715f003e?filename=2.0%E6%AD%8C%E6%89%8B.jpg [哈这是效果图]https://attachments.tower.im/tower/8ed2ee618fa74d45ad6c1302715f003e?filename=2.0%E6%AD%8C%E6%89%8B.jpg(url)
from indexablerecyclerview.
IndexBar的宽度有属性可以设置,背景色也可以设置~
indexBar_textSpace看你需求自己配置下... 如果你都觉得不这么设置用户体验也没差的话,砍掉这个设计吧...
你的图片我打不开~
from indexablerecyclerview.
padding并不能解决我刚刚说错了- -无语,背景色我说的是置顶的背景色是单独的吗?
from indexablerecyclerview.
置顶? 指的是粘性IndexTitle? 它跟随你的Title的布局, 可以自己定制
from indexablerecyclerview.
是啊,关键是置顶的 和滚动的样式不一样https://share.weiyun.com/542844a29aafc9b51b93af2cf18f7105 这是图片
from indexablerecyclerview.
右边那个能搞定吗 您说的textspace干嘛的我设置没啥效果。还是把视图区域覆盖了。
from indexablerecyclerview.
额,你需要颜色不一样.... 置顶的黏性Title用的是 Title的布局:
@Override
public RecyclerView.ViewHolder onCreateTitleViewHolder(ViewGroup parent) {
...
}
我看你的设计稿,应该是滚动时Title不用互相顶动上一个/下一个Title的交互吧... 交互不同,库的交互是Title互相顶动、固定的形式;
另外RecyclerView recyclerView = indexableLayout.getRecyclerView();
拿到RecyclerView对象,设置ItemDecoration可设置各种间距
textspace设置IndexBar的字间距,可通过调节间距,调整IndexBar的整体高度
如果设计不愿让步,fork下,修改下源码,你的设计稿的交互实现很简单。
from indexablerecyclerview.
是啊, 所以指定的没法单独实现吧。另外 最主要的是右边字体遮盖问题如何解决。
from indexablerecyclerview.
颜色不一样,需要改源码实现;
遮盖问题使用强大到爆表的ItemDecoration~
from indexablerecyclerview.
不过看源码 貌似把 继承的framelayout改成线性布局是否可以解决遮盖问题 ,itemDecoration有一个毛病就是等分问题。网上的都没能解决,相交的地方如果不保持每一个item左右一直会导致高度,大小发生一些变化 item间隙越大越明显
from indexablerecyclerview.
不 继承又要改很多 ---
from indexablerecyclerview.
你的视觉搞的交互形式是另外一种...
置顶的问题,砍下交互吧,我觉得固定死的还不如联动的~
from indexablerecyclerview.
嗯置顶的没法解决,右边的已解决。 直接设置recyclerview的padding
from indexablerecyclerview.
您忙吧有空希望弄下,因为什么呢 横的,如果给标题栏不设置颜色不好看,如果设置颜色就会发现右边区域不和谐,标题块没有彻底到右边 是有点不好看 除非类似我上面发的 是纯色的还差不多
from indexablerecyclerview.
好的~ 最近个人时间较少 见谅
你可以稍微修改下源码,在置顶StickTItle固定时,回调事件,在你自己的页面上放一个绿色的Title布局, 回调时刷新这个绿色布局的字母即可
from indexablerecyclerview.
哈真的吗如果很简单我就弄一下。 主要是感觉好像需要理一下代码
from indexablerecyclerview.
已解决
for (int i = 0; i < getChildCount(); i++) { if (getChildAt(i) == mRecy) { mStickyViewHolder.itemView.setVisibility(INVISIBLE); mIndexableAdapter.onStickyTitleViewAdd(mStickyViewHolder); addView(mStickyViewHolder.itemView, i + 1); return; }
from indexablerecyclerview.
private void initStickyView(final IndexableAdapter adapter) {
mStickyViewHolder = adapter.onCreateStickyTitleViewHolder(mRecy);
mStickyViewHolder.itemView.setOnClickListener(new OnClickListener() {
@OverRide
public void onClick(View v) {
if (adapter.getOnItemTitleClickListener() != null) {
int position = mIndexBar.getFirstRecyclerViewPositionBySelection();
ArrayList datas = mRealAdapter.getItems();
if (datas.size() > position && position >= 0) {
adapter.getOnItemTitleClickListener().onItemClick(
v, position, datas.get(position).getIndexTitle());
}
}
}
});
mStickyViewHolder.itemView.setOnLongClickListener(new OnLongClickListener() {
@OverRide
public boolean onLongClick(View v) {
if (adapter.getOnItemTitleLongClickListener() != null) {
int position = mIndexBar.getFirstRecyclerViewPositionBySelection();
ArrayList datas = mRealAdapter.getItems();
if (datas.size() > position && position >= 0) {
return adapter.getOnItemTitleLongClickListener().onItemLongClick(
v, position, datas.get(position).getIndexTitle());
}
}
return false;
}
});
for (int i = 0; i < getChildCount(); i++) {
if (getChildAt(i) == mRecy) {
mStickyViewHolder.itemView.setVisibility(INVISIBLE);
// mStickyViewHolder.itemView.setBackgroundColor(Color.RED);
addView(mStickyViewHolder.itemView, i + 1);
return;
}
}
}
from indexablerecyclerview.
嘿嘿这个最完美
from indexablerecyclerview.
Related Issues (20)
- 能否提供api外部直接设置索引Bar数据
- setDatas 时能不刷新 header吗?
- 土耳其语言首字母为I的识别出来不是i,希望作者能修复下。
- 1.3.0引入了重复的tinypinyin-android库(这个库没有被用到,工程里应该在sample project引入,而不是在lib里引入),而且PinyinUtil里面引入了的com.github.promeg.pinyinhelper.Pinyin更新不下来 HOT 1
- notifyItemChanged 能否暴漏出来
- 一个很离奇的XML崩溃报错 HOT 1
- 关于 拼音库【 TinyPinyin 】 依赖问题,可以参考下
- 滑动后 字母吸顶不显示 是什么鬼 HOT 1
- 请问 布局item上添加button按钮 点击请求网络 如何拿到当前item的信息作为参数上传?
- 请问怎么获取右侧indexbar
- 默认没有按照首字母排序
- jcenter跑路啦,有迁移计划吗 HOT 1
- 想要在适配器中获取元素的下标 position,怎么操作?
- 1.30版本 刷新方法被注释
- 大神,拼音的jar包有时候根本依赖不下来啊
- 热门和 定位顺序问题
- 无法滑动,我使用的是LinearLayoutManager HOT 1
- tinypinyin.lexicons 依赖冲突 HOT 4
- 关于header定制不灵活的建议
- 可以隐藏没有数据的 索引么
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from indexablerecyclerview.