首页 > 解决方案 > 滚动布局大于显示

问题描述

我想让我的布局比显示尺寸大 4 倍。我正在这样做:

private lateinit var view: View
private lateinit var binding: ActivitySkyBinding

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    binding = DataBindingUtil.setContentView(this,
        R.layout.activity_sky
    )
    view = binding.skyActivity
    view.setBackgroundResource(R.drawable.gradient)

}

override fun onWindowFocusChanged(hasFocus: Boolean) {
    super.onWindowFocusChanged(hasFocus)
    val params = view.layoutParams
    params.width = view.resources.displayMetrics.widthPixels*4
    params.height = view.resources.displayMetrics.heightPixels*4
    view.layoutParams = params
}

这是我的 XML 布局:

<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">

<ScrollView
    android:id="@+id/sky_activity"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:fillViewport="true"
    tools:context=".skyActivity">

    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">

    </HorizontalScrollView>

</ScrollView>

我认为我设置新大小的方式是有效的,因为我的渐变看起来不同(我看到它的左上部分),但我无法向任何方向滚动。我需要能够垂直、水平和对角滚动,还需要放大/缩小。

标签: androidandroid-layoutkotlinandroid-activity

解决方案


推荐阅读