我是Android Studio和Android开发的初学者。我希望scrollview只允许滚动直到图像结束,但滚动到白色空间。我尝试了很多东西,但我不知道我出错的地方。
The scrollable image, Image showing scrolling into the white space
以下是XML代码:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fillViewport="true"
android:overScrollMode="never"
tools:context="com.android101.chroniclesofnarutouzumaki.MainActivity">
<RelativeLayout
android:id="@+id/relative_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/naruto_uzumaki"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitStart"
android:id="@+id/naruto" />
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
android:text="Never Give Up!" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/text1"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:layout_marginTop="438dp"
android:text="What to Add?" />
</RelativeLayout>
</ScrollView>
答案 0 :(得分:1)
在Layout中获得额外空格的原因是在TextView中你提到了marginTop属性为android:layout_marginTop =&#34; 438dp&#34;而且你没有将adjustViewbounds设置为ImageView。
更多关于图像的意图是在布局背景上显示意味着您可以将图像设置为相对布局的背景。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fillViewport="true"
android:overScrollMode="never"
>
<RelativeLayout
android:id="@+id/relative_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/naruto"
android:adjustViewBounds="true"/>
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
android:text="Never Give Up!" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/text1"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:layout_alignParentBottom="true"
android:text="What to Add?" />
</RelativeLayout>
</ScrollView>
答案 1 :(得分:0)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:overScrollMode="never"
>
<RelativeLayout
android:id="@+id/relative_layout"
android:layout_width="match_parent"
android:background="@drawable/naruto_uzumaki"
android:layout_height="wrap_content">
<!-- <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitStart"
android:id="@+id/naruto" />
-->
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
android:text="Never Give Up!" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/text1"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:layout_marginTop="438dp"
android:text="What to Add?" />
</RelativeLayout>
</ScrollView>
答案 2 :(得分:0)
如果我理解你想要的东西,你需要将空白区域固定为高度或始终可见(text1,text2)并且只滚动图像,如果是这样的话,你需要使用线性布局并在其中放置一个称重为1的滚动视图,text1和text 2在这里给出了高度换行内容的代码:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<ImageView
android:id="@+id/naruto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitStart"
android:src="@drawable/bassma_avatar" />
</ScrollView>
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
android:text="Never Give Up!" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/text1"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:text="What to Add?" />
这将使图像以仍然可以显示text1和2的方式拉伸,如果它大于此限制,则可以滚动