2014-11-25 112 views
1

嗨,我是新的android開發。 我想設計一個垂直的ScrollView,它包含一個ImageView和TextView。 ImageView佔據屏幕頂部50%的高度,底部部分是帶有動態內容的TextView,可能會佔用屏幕高度的50%以下的高度。所以ScrollView只有在文本內容佔用50%以上的屏幕時纔可以滾動(例如請看下面的例子) in this case text occupies 50% more screen so user has to scroll down to read moreandroid垂直ScrollView佈局,使ImageView具有固定百分比的屏幕高度

有什麼辦法可以實現這種佈局?

+0

嘗試的LinearLayout權重和。 – Jeeva 2014-11-25 07:17:54

回答

2
<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <ImageView 
      android:id="@+id/scroll_image" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:scaleType="centerCrop" /> 

     <TextView 
      android:id="@+id/scroll_text" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 
    </LinearLayout> 
</ScrollView> 

這是佈局。在您的活動,你應該設置ImageView的高度爲屏幕高度的50%,這樣的:

ImageView scrollImage = (ImageView) findViewById(R.id.scroll_image); 
TextView scrollText = (TextView) findViewById(R.id.scroll_text); 
int height = getResources().getDisplayMetrics().heightPixels; 

LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) scrollImage.getLayoutParams(); 
params.height = height/2; 
scrollImage.setLayoutParams(params); 

希望這有助於。

0

試試下面的代碼

<ScrollView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:weightSum="100" 
       android:orientation="vertical"> 

       <ImageView 
        android:id="@+id/scroll_image" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:scaleType="centerCrop" 
        android:layout_weight="50" /> 

       <TextView 
        android:id="@+id/scroll_text" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="50" /> 
      </LinearLayout> 
     </ScrollView> 
相關問題