如何创建一个带有屏幕填充滚动视图的布局,该滚动视图在图像视图中有一个小图像,缩放以适应整个滚动视图并可以滚动?例如。720x1280 显示器具有全屏滚动视图 (fill_parent)。里面是一个线性布局(fill_parent)。其中是图像视图中的 300x900 位图,放大到 720x2160,填充屏幕宽度并超过垂直边界,并且可以在滚动视图中向上/向下滚动。
该解决方案应适用于所有屏幕尺寸,以支持从手机到平板电脑的多种设备。
如何创建一个带有屏幕填充滚动视图的布局,该滚动视图在图像视图中有一个小图像,缩放以适应整个滚动视图并可以滚动?例如。720x1280 显示器具有全屏滚动视图 (fill_parent)。里面是一个线性布局(fill_parent)。其中是图像视图中的 300x900 位图,放大到 720x2160,填充屏幕宽度并超过垂直边界,并且可以在滚动视图中向上/向下滚动。
该解决方案应适用于所有屏幕尺寸,以支持从手机到平板电脑的多种设备。
这对我有用:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="720dp"
android:layout_height="2160dp"
android:src="@drawable/image"
android:scaleType="fitXY"/>
</LinearLayout>
</ScrollView>
如果您需要使这项工作适用于任何屏幕尺寸,请以编程方式进行:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.imageView);
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
imageView.getLayoutParams().width = width;
}
如果滚动视图的高度和宽度是填充父级,而不是使用小图像设置背景,它将自动在您的布局中展开