gpt4 book ai didi

android - Android 中无尽的水平 ScrollView

转载 作者:行者123 更新时间:2023-11-29 00:05:39 24 4
gpt4 key购买 nike

我是一名新的 Android 应用程序开发人员。我想知道如何创建无尽的水平 ScrollView 。例如,有三个按钮(Button1、Button2 和 Button3)。当用户 ScrollView 时,我仍然想在 Button3 之后再次显示 Button1。您能否提供任何示例代码或任何想法?

谢谢。

最佳答案

您可以检查您的按钮 View 是否仍然可见。首先检查按钮一是否可见:

private boolean isViewVisible(View view) {
Rect scrollBounds = new Rect();
mScrollView.getDrawingRect(scrollBounds);

float top = view.getY();
float bottom = top + view.getHeight();

if (scrollBounds.top < top && scrollBounds.bottom > bottom) {
return true;
} else {
return false;
}
}

如果它不可见,则再次添加按钮一。每次用户滚动时在滚动监听器中调用此方法,以检查按钮是否不可见。如果按钮不可见,则重新添加。

如果你想让它自己变得无穷无尽,试试这个:

public class Test extends ListActivity implements OnScrollListener {

Aleph0 adapter = new Aleph0();

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(adapter);
getListView().setOnScrollListener(this);
}

public void onScroll(AbsListView view,
int firstVisible, int visibleCount, int totalCount) {

boolean loadMore = /* maybe add a padding */
firstVisible + visibleCount >= totalCount;

if(loadMore) {
adapter.count += visibleCount; // or any other amount
adapter.notifyDataSetChanged();
}
}

public void onScrollStateChanged(AbsListView v, int s) { }

class Aleph0 extends BaseAdapter {
int count = 40; /* starting amount */

public int getCount() { return count; }
public Object getItem(int pos) { return pos; }
public long getItemId(int pos) { return pos; }

public View getView(int pos, View v, ViewGroup p) {
TextView view = new TextView(Test.this);
view.setText("entry " + pos);
return view;
}
}
}

看看这个:

Android Endless List

android:how to make infinite scrollview with endless scrolling

就是这样。只需查看用户滚动时 View 何时超出范围。

当它不可见时,只需重新添加它。

关于android - Android 中无尽的水平 ScrollView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33990932/

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