我需要像在Gallery(不推荐使用)小部件中那样在Horizontal滚动视图中开始和结束内容。 “水平”滚动视图内的内容应从屏幕的中心开始,滚动时应从中心向左移动,与“图库”相同。
我有几百个图像,这些图像动态地填充在“水平”滚动视图内的linearlayout中。我实现了以一秒的时间延迟自动滚动水平滚动视图。但是我需要从中心开始并以中心结束。
public class ImageGalleryScrollActivity
extends AppCompatActivity {
HorizontalScrollView horizontalScrollView;
int maxCount=59;
Handler mHandler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
horizontalScrollView.smoothScrollBy(maxCount, 0);
mHandler.sendMessageDelayed(new Message(), 1000);
return false;
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.horizontal_scroll_activity);
horizontalScrollView=(HorizontalScrollView)findViewById(R.id.horizontalView);
mHandler.sendMessageDelayed(new Message(), 1000);
}
}
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<HorizontalScrollView
android:id="@+id/horizontalView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:fillViewport="true">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>
</HorizontalScrollView>
</RelativeLayout>
答案 0 :(得分:1)
您可以在滚动视图上将{/ {1}}属性与每个等于屏幕宽度一半的左/右填充相结合。
由于在运行时之前您将不知道需要多少填充,因此必须在Java中设置填充。将其放入您的android:clipToPadding="false"
:
onCreate()