2014-08-27 46 views
2

我有一個ScrollViewLinearLayout和內部4 ImageView的,但第一個沒有顯示。ScrollView中的第一個嵌入ImageView未顯示

(的可繪製和ID的名稱是不一樣的,我寫XXX故意)

這是我的佈局

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/linLayoutAbout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:orientation="vertical" > 


    // Another stuff 
    ... 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginBottom="5dp" 
     android:orientation="vertical" > 

     <ScrollView 
      android:id="@+id/scrollView1" 
      android:layout_width="wrap_content" 
      android:layout_height="65dp" 
      android:layout_gravity="center" 
      android:isScrollContainer="true" > 
      <LinearLayout 
       android:id="@+id/linLayoutScrollView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:orientation="vertical" >  

       <ImageView    //<- Just this ImageView is not shown 
        android:id="@+id/logo_XXX" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_marginBottom="5dp" 
        android:src="@drawable/logo_XXX" /> 

       <ImageView 
         android:id="@+id/logo_XXX" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center" 
         android:layout_marginBottom="5dp" 
         android:src="@drawable/logo_XXX" /> 

       <ImageView 
        android:id="@+id/logo_XXX" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_marginBottom="5dp" 
        android:src="@drawable/logo_XXX" /> 

       <ImageView 
        android:id="@+id/logo_XXX" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:src="@drawable/logo_XXX" /> 
      </LinearLayout>           
     </ScrollView> 
    </LinearLayout> 


    <Button 
     android:id="@+id/close_button" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="20dp" 
     android:layout_marginRight="20dp" 
     android:layout_marginTop="10dp" 
     android:text="@string/close_about" /> 

如果我設置android:layout_height一些dp_value那麼我就可以看不到第一個ImageView,但是如果我將它設置爲「wrap_content」,那麼我可以看到所有的ImageView的。

有人可以告訴我我做錯了什麼,我該如何解決?

預先感謝您。

回答

3

你要刪除的行

android:layout_gravity="center" 

在LinearLayout中ID爲 「@ + ID/linLayoutScrollView1」 了滾動內。因爲它將線性佈局集中在ScrollView的65個像素內,這意味着上述一半圖像不在屏幕之外。

試試這個代碼;

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/linLayoutAbout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:orientation="vertical" > 
    // Another stuff 
    ... 


    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginBottom="5dp" 
     android:orientation="vertical" > 

     <ScrollView 
      android:id="@+id/scrollView1" 
      android:layout_width="wrap_content" 
      android:layout_height="65dp" 
      android:layout_gravity="center" 
      android:isScrollContainer="true" > 

      <LinearLayout 
       android:id="@+id/linLayoutScrollView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" > 

       <ImageView 
        android:id="@+id/logo_XXX1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_marginBottom="5dp" 
        android:src="@drawable/ic_launcher" /> 

       <ImageView 
        android:id="@+id/logo_XXX2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_marginBottom="5dp" 
        android:src="@drawable/ic_launcher" /> 

       <ImageView 
        android:id="@+id/logo_XXX3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_marginBottom="5dp" 
        android:src="@drawable/ic_launcher" /> 

       <ImageView 
        android:id="@+id/logo_XXX4" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:src="@drawable/ic_launcher" /> 
      </LinearLayout> 
     </ScrollView> 
    </LinearLayout> 

    <Button 
     android:id="@+id/close_button" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="20dp" 
     android:layout_marginRight="20dp" 
     android:layout_marginTop="10dp" 
     android:text="close_about" /> 

</LinearLayout> 

我改變了LinearLayout併爲圖像添加了一些實際值。現在所有的圖像都顯示正確。只需更換您的圖像,看看不同之處。

+0

它沒有奏效。我嘗試了所有可能的組合,在scrollview和LinearLayout中使用和不使用重力。 – 2014-08-27 14:15:58

+0

看看我的編輯。 – 2014-08-27 14:23:10

+0

它已經與第一個答案(在編輯之前)一起工作,我已經運行了舊的答案。 Thx;)但非常感謝,你做了這樣一個例子。 – 2014-08-27 14:37:26

1

65必須小於總高度。它必須顯示,當你嘗試一個更大的dp值,可能是150等。它嘗試了一些隨機圖像。

+0

我現在測試,thx – 2014-08-27 13:45:28

+0

我得到了第一個ImageView的低一半。我用這個「65dp」的意圖是創建一個可滾動的「窗口」(具有確定高度的ScrollView),我可以在其中顯示內容。如果我增加高度,當然會顯示第一個ImageView(如上所述),但我想滾動並通過此「窗口」查看圖像。問候 – 2014-08-27 13:51:50

+1

這是無關緊要的,它是LinearLayour的「引力」。 Thx – 2014-08-27 14:38:34