2016-12-27 56 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

只是添加缺少的結束標記爲線性佈局