Android水平文本轮播与对齐

时间:2013-10-25 07:05:25

标签: android android-viewpager android-gallery horizontalscrollview

我想实现这种布局:

enter image description here

在我显示多个TextView的情况下,用户将能够水平滚动,列表将捕捉到中央项目(我将能够检索)。

看起来我有几个选择,但没有一个令人满意。

首先我研究了HorizontalScrollView,但它只进行了滚动而没有捕捉。

Gallery已被弃用,但看起来最有希望 - 我只需覆盖适配器中的getView

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    TextView tv = convertView == null ? new TextView(getActivity()) : (TextView) convertView;
    tv.setText(getItem(position));
    tv.measure(0, 0);
    int width = tv.getMeasuredWidth();
    tv.setLayoutParams(new Gallery.LayoutParams(width + 100, 100));
    return tv;
}

其他可用选项是ViewPager,但看起来ViewPager更喜欢与ViewPager本身一样宽的视图。

使用Gallery有什么问题吗?我不太喜欢Google在不提供等效替代品的情况下弃用View,但我担心在未来的Android版本中它会消失。

1 个答案:

答案 0 :(得分:1)

据我所知,弃用的课程不会消失。它们不再受支持了,所以如果类的代码中存在错误,那么没有人会在未来的API版本中修复它。

如果Gallery无法解决问题,那么网络周围会有一些水平列表视图的实现 - 只需使用/扩展一个,这样就可以获得与smoothScrollToPosition(int position)等效的内容。