gpt4 book ai didi

Android 弯曲 ListView

转载 作者:IT老高 更新时间:2023-10-28 23:25:55 27 4
gpt4 key购买 nike

我正在 android 中实现一个 ListView ,它看起来就像这样并滚动 enter image description here

我一直在通过在我的适配器的 getView 中设置膨胀行的布局参数来做到这一点,但由此引发的问题是 ListView 变得生涩。即,它仅在一行完全从屏幕传递并调用 getView 时更新行,为所有可见行提供新参数,从而导致抖动可以应用动画并且可以精确地获取 ListView 滚动位置。我想要的是 View 之间的平滑过渡,即当 ListView 向上移动一点时,内部 View 应该随着该移动精确地缩放。


这是我解决这个问题的第一级实现,希望它可以帮助任何有兴趣的人,arrHeight 和 arrWidth 是在 Activity 开始时使用贝塞尔路径算法动态创建的

public class TimelinePinsAdapter extends ParentLazyAdapter {

LinearLayout ll_PinsContainer;
LinearLayout.LayoutParams llParams_PinParameters;

public TimelinePinsAdapter(Activity a, ArrayList<HashMap<String, String>> d) {
super(a, d);
}

public int getCount() {
return data.size();
}

public Object getItem(int position) {
return position;
}

public long getItemId(int position) {
return position;
}

public View getView(int position, View convertView, ViewGroup parent) {
vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.rowsinflate, null, false);
ll_PinsContainer = (LinearLayout) vi.findViewById(R.id.item);
llParams_PinParameters =
new LinearLayout.LayoutParams(0,
(int) TimeLineActivity.arrHeight[position % 7]);
ll_PinsContainer.setLayoutParams(llParams_PinParameters);

return vi;
}
}

最佳答案

在尝试实现“弯曲” ListView 时,我发现了一个从 v2 beta Android Wear 支持库中窃取的解决方案。

关键是新的WearableRecyclerView - 在此链接中查看您需要的所有信息。如何将支持库添加到您的项目的详细信息:https://developer.android.com/wear/preview/start.html

此回收器 View 允许您提供自定义 OffsettingHelper 以实现基于每个列表项的当前位置的特殊转换。

顺便说一句,无论如何,您都应该使用 RecyclerView,因为这会回收您的 View 并提高性能;这几乎可以消除您提到的生涩动画,因为不必在每次出现时都创建新 View 。

关于Android 弯曲 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25019429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com