2014-04-18 146 views
6

我想在ScrollView中有2個佈局。第一個佈局應該在全屏幕上,第二個佈局應該在第一個佈局下面。當活動開始時,不可能看到第二個佈局。第二個佈局可以在滾動屏幕後看到。請看看我的形象以便更好地理解。滾動視圖中的全屏佈局

enter image description here

回答

9

佈局代碼:`

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="15dp" > 

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

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


    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/layout2" 
     android:layout_width="match_parent" 
     android:layout_height="200dp" 
     android:orientation="vertical" > 

     <!-- this layout can be any height you want --> 

    </LinearLayout> 
</LinearLayout> 

</ScrollView>` 

獲取設備屏幕高度: Point size = new Point(); getWindowManager().getDefaultDisplay().getSize(size); int screenHeight = size.y;

找到的LinearLayout: LinearLayout layout = (LinearLayout)findViewById(R.id.layout1);

設置佈局的基礎上,高度您之前獲得的屏幕高度: LayoutParams params = layout.getLayoutParams(); params.height = screenHeight - getStatusBarHeight();

完成。一定要在你的onCreate方法中調用所有這些方法。

希望這會有所幫助!

+0

謝謝,第一次完美!我想讓節目強調這段代碼讓其他人閱讀這個問題[獲得狀態欄的高度](http://mrtn.me/blog/2012/03/17/get-the-height-of-the-status -bar-在-機器人/)。然後,只需更改代碼行'params.height = screenHeight - getStatusBarHeight()' – Matwosk

+0

很高興我能幫上忙! –