在 android 中使用计时器自动滚动水平列表项
Auto Scrolling of horizontal list items with timer in android
我需要使用从网络服务获取的数据在我的应用程序中显示广告。我已经在水平列表视图中显示了广告。现在我希望列表视图的每个单元格在特定时间间隔自动滚动(就像 google 广告一样)。我该怎么做?
我认为最好的方法是在 activity 或片段中使用处理程序。只需添加如下代码:
private Handler handler = new Handler();
handler.postDelayed(runnable, interval);
并且在您的可运行文件中,您应该实现列表视图的滚动。
更新 如果您将使用 ViewPager 而不是 scrollview,您可以这样做:
final Handler handler = new Handler();
Runnable runable = new Runnable() {
@Override
public void run() {
//this will select next page number
page = page==maxPages? 0 : ++page;
//this will change the page to concrete page number
viewPager.setCurrentItem(page);
//this will execute this code after timeInterval
handler.postDelayed(this, timeInterval);
}
};
handler.postDelayed(runable, timeInterval);
其中 viewPager
是您的 ViewPager 实例,timeInterval
- 您要滚动页面的时间间隔(以毫秒为单位),maxPages
- 您的最后一页的编号ViewPager
我需要使用从网络服务获取的数据在我的应用程序中显示广告。我已经在水平列表视图中显示了广告。现在我希望列表视图的每个单元格在特定时间间隔自动滚动(就像 google 广告一样)。我该怎么做?
我认为最好的方法是在 activity 或片段中使用处理程序。只需添加如下代码:
private Handler handler = new Handler();
handler.postDelayed(runnable, interval);
并且在您的可运行文件中,您应该实现列表视图的滚动。
更新 如果您将使用 ViewPager 而不是 scrollview,您可以这样做:
final Handler handler = new Handler();
Runnable runable = new Runnable() {
@Override
public void run() {
//this will select next page number
page = page==maxPages? 0 : ++page;
//this will change the page to concrete page number
viewPager.setCurrentItem(page);
//this will execute this code after timeInterval
handler.postDelayed(this, timeInterval);
}
};
handler.postDelayed(runable, timeInterval);
其中 viewPager
是您的 ViewPager 实例,timeInterval
- 您要滚动页面的时间间隔(以毫秒为单位),maxPages
- 您的最后一页的编号ViewPager