2016-12-27 60 views
3

我在Android Studio中一个初学者,Android开发一般。我希望滚动视图只允许滚动直到图像的结尾,但滚动到空白区域。我尝试了很多东西,但是我只是没有弄清楚我错了什么。如何限制滚动图像(滚动视图)到空白区域?

The scrollable imageImage 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

这得到了圆满解决。在imageview中添加了'android:adjustViewBounds =“true”'。 –

回答

1

在布局获得额外的空白的原因是在TextView的你提到的marginTop在作为android:layout_marginTop =“438dp”致敬,并且您还没有将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> 
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> 
0

如果我知道你想什么,你需要白色的空间是固定的高度还是要始终可见(文本,文本2),只有滚动的图像,如果是那样的话,你需要使用线性布局,其p内UT斯达康滚动视图与重1和文本1和文本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?" /> 

这将使在某种程度上图像舒展还是文本1和2可以看到,如果是超过这个限制的,你将能够然后滚动

+0

只是添加缺少的结束标记为线性布局