Giter VIP home page Giter VIP logo

Comments (26)

qssq666123 avatar qssq666123 commented on August 27, 2024

如果没有索引貌似是等分的 是咋回事?

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

另外 顶部的变色 里面的字母不变色又怎么做

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

以及索引 baner如果上部分不要遮盖字母又如何控制。

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

还有一个坑 就是间距,gridview上下间距 如何控制等分 比如控制了上面 你会发现没有交集的地方和交集的地方会出现宽高不一致,但是通过标题栏底部设置padding。解决,但是置顶的标题栏估计也是用的一样的样式吧。

from indexablerecyclerview.

YoKeyword avatar YoKeyword commented on August 27, 2024

RecyclerView对 Grid的各种间距控制和GridView这个组件有一些区别的;
变色的问题没懂你的意思;
baner是指IndexBar吗? 上部分不遮盖可以通过indexBar_textSpace属性来调整曲线实现

我看你的需求挺特别的, 这个库出发点是简单构建出可索引的城市选择、通讯录选择的页面;所以IndexBar等都集成到IndexableLayout里的。

更具拓展性的做法其实是IndexBar和RecyclerView分离, 如果你的场景比较复杂,你可以fork下修改源码,或者自己实现

近期个人工作比较忙,可能没太多时间去维护该库 望见谅~ 😢

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

上面那个自适应可以,原来这个和设计师设计的不同设计师认为这字母不应该覆盖在上面。 不然不好看 ,表格布局确实是。

不过设置padding可以解决,另外gridview还发现一个问题 4个格子是通过match_parent弄的,滑动的时候无意中发现 有的变小了。

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

请问 indexBar_textSpace 大概调整多少呢? 我设置padding也能解决就是不知道右边那个条的宽度是多少

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

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.

YoKeyword avatar YoKeyword commented on August 27, 2024

IndexBar的宽度有属性可以设置,背景色也可以设置~

indexBar_textSpace看你需求自己配置下... 如果你都觉得不这么设置用户体验也没差的话,砍掉这个设计吧...

你的图片我打不开~

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

padding并不能解决我刚刚说错了- -无语,背景色我说的是置顶的背景色是单独的吗?

from indexablerecyclerview.

YoKeyword avatar YoKeyword commented on August 27, 2024

置顶? 指的是粘性IndexTitle? 它跟随你的Title的布局, 可以自己定制

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

是啊,关键是置顶的 和滚动的样式不一样https://share.weiyun.com/542844a29aafc9b51b93af2cf18f7105 这是图片

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

右边那个能搞定吗 您说的textspace干嘛的我设置没啥效果。还是把视图区域覆盖了。

from indexablerecyclerview.

YoKeyword avatar YoKeyword commented on August 27, 2024

额,你需要颜色不一样.... 置顶的黏性Title用的是 Title的布局:

 @Override
    public RecyclerView.ViewHolder onCreateTitleViewHolder(ViewGroup parent) {
        ...
    }

我看你的设计稿,应该是滚动时Title不用互相顶动上一个/下一个Title的交互吧... 交互不同,库的交互是Title互相顶动、固定的形式;

另外RecyclerView recyclerView = indexableLayout.getRecyclerView();拿到RecyclerView对象,设置ItemDecoration可设置各种间距

textspace设置IndexBar的字间距,可通过调节间距,调整IndexBar的整体高度

如果设计不愿让步,fork下,修改下源码,你的设计稿的交互实现很简单。

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

是啊, 所以指定的没法单独实现吧。另外 最主要的是右边字体遮盖问题如何解决。

from indexablerecyclerview.

YoKeyword avatar YoKeyword commented on August 27, 2024

颜色不一样,需要改源码实现;

遮盖问题使用强大到爆表的ItemDecoration~

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

不过看源码 貌似把 继承的framelayout改成线性布局是否可以解决遮盖问题 ,itemDecoration有一个毛病就是等分问题。网上的都没能解决,相交的地方如果不保持每一个item左右一直会导致高度,大小发生一些变化 item间隙越大越明显

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

不 继承又要改很多 ---

from indexablerecyclerview.

YoKeyword avatar YoKeyword commented on August 27, 2024

你的视觉搞的交互形式是另外一种...

置顶的问题,砍下交互吧,我觉得固定死的还不如联动的~

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

嗯置顶的没法解决,右边的已解决。 直接设置recyclerview的padding

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

您忙吧有空希望弄下,因为什么呢 横的,如果给标题栏不设置颜色不好看,如果设置颜色就会发现右边区域不和谐,标题块没有彻底到右边 是有点不好看 除非类似我上面发的 是纯色的还差不多

from indexablerecyclerview.

YoKeyword avatar YoKeyword commented on August 27, 2024

好的~ 最近个人时间较少 见谅

你可以稍微修改下源码,在置顶StickTItle固定时,回调事件,在你自己的页面上放一个绿色的Title布局, 回调时刷新这个绿色布局的字母即可

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

哈真的吗如果很简单我就弄一下。 主要是感觉好像需要理一下代码

from indexablerecyclerview.

qssq666123 avatar qssq666123 commented on August 27, 2024

已解决
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.

qssq666123 avatar qssq666123 commented on August 27, 2024

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.

qssq666123 avatar qssq666123 commented on August 27, 2024

嘿嘿这个最完美

from indexablerecyclerview.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.