2014-02-18 34 views
2

如何设置一个布局的高度以使整个高度保持不变?Android设置布局取其余高度

第一个布局取150高度,第二个布局取50高度,我想第三个取其余高度,我可能需要获取设备的屏幕尺寸,然后设置布局参数,如何设置做这些?

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
    android:id="@+id/ScrollView" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true"> 
    <HorizontalScrollView 
     android:background="@color/white" 
     android:layout_width="wrap_content" 
     android:layout_height="150.0dip"> 
     <LinearLayout 
      android:orientation="horizontal" 
      android:id="@+id/composite_complex_and_sticky_imagegallery" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent"> 
      <ImageView 
       android:id="@+id/imageView" 
       android:layout_width="144.0dip" 
       android:layout_height="144.0dip" 
       android:src="@drawable/ic_launcher" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentTop="true" /> 
      <ImageView 
       android:id="@+id/imageView2" 
       android:layout_width="144.0dip" 
       android:layout_height="144.0dip" 
       android:src="@drawable/ic_launcher" 
       android:layout_toRightOf="@+id/imageView" 
       android:layout_alignParentTop="true" /> 
      <ImageView 
       android:id="@+id/imageView3" 
       android:layout_width="144.0dip" 
       android:layout_height="144.0dip" 
       android:src="@drawable/ic_launcher" 
       android:layout_toRightOf="@+id/imageView2" 
       android:layout_alignParentTop="true" /> 
      <ImageView 
       android:id="@+id/imageView4" 
       android:layout_width="144.0dip" 
       android:layout_height="144.0dip" 
       android:src="@drawable/ic_launcher" 
       android:layout_toRightOf="@+id/imageView3" 
       android:layout_alignParentTop="true" /> 
      <ImageView 
       android:id="@+id/imageView5" 
       android:layout_width="144.0dip" 
       android:layout_height="144.0dip" 
       android:src="@drawable/ic_launcher" 
       android:layout_toRightOf="@+id/imageView4" 
       android:layout_alignParentTop="true" /> 
      <ImageView 
       android:id="@+id/imageView6" 
       android:layout_width="144.0dip" 
       android:layout_height="144.0dip" 
       android:src="@drawable/ic_launcher" 
       android:layout_toRightOf="@+id/imageView5" 
       android:layout_alignParentTop="true" /> 
     </LinearLayout> 
    </HorizontalScrollView> 

    <RelativeLayout 
     android:tag="sticky" 
     android:background="@color/white" 
     android:layout_width="fill_parent" 
     android:layout_height="90dip"> 
     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 
      <RelativeLayout 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"> 
       <TextView 
        android:id="@+id/composite_complex_and_sticky_textview_1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="New Text" 
        android:layout_toLeftOf="@+id/composite_complex_and_sticky_imageview" 
        android:layout_above="@+id/textView2" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentTop="true" /> 
       <TextView 
        android:id="@+id/composite_complex_and_sticky_textview_2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="New Text" 
        android:layout_toLeftOf="@+id/composite_complex_and_sticky_imageview" 
        android:layout_alignBottom="@+id/composite_complex_and_sticky_imageview" 
        android:layout_alignParentLeft="true" /> 
       <ImageView 
        android:id="@+id/composite_complex_and_sticky_imageview" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:src="@drawable/ic_launcher" 
        android:layout_alignParentTop="true" 
        android:layout_alignParentRight="true" /> 
      </RelativeLayout> 
      <RadioGroup 
       android:orientation="horizontal" 
       android:id="@+id/composite_complex_and_sticky_radiogroup" 
       android:layout_width="fill_parent" 
       android:layout_height="40.0dip"> 
       <RadioButton 
        android:id="@+id/composite_complex_and_sticky_radio_1" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:checked="true" 
        android:text="@string/offer_button_caption" 
        android:layout_weight="5.0" 
        android:layout_alignParentLeft="false" 
        android:layout_alignParentTop="false" /> 
       <RadioButton 
        android:id="@+id/composite_complex_and_sticky_radio_2" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:text="@string/description_button_caption" 
        android:layout_weight="5.0" 
        android:layout_alignParentTop="false" 
        android:layout_alignParentRight="false" /> 
      </RadioGroup> 
     </LinearLayout> 
    </RelativeLayout> 

    <com.itprovent.fotokodroid.CustomViewPager 
     android:id="@+id/composite_complex_and_sticky_viewpager" 
     android:layout_width="match_parent" 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_height="0dp" 
     android:layout_weight="1"/> 
</LinearLayout> 
</ScrollView> 

enter image description here

+1

我没有得到的问题请详细说明。 –

+0

你能改善你的问题吗?你可以放一张图片,让我们知道你想要达到什么目的? – 2014-02-18 06:37:43

+0

对不起,我编辑了这个问题,我也附上了图片 – DeckyFx

回答

0

如果三个布局在同一水平,那么你可以做以下。

更新: Horizo​​ntalScrollView =>设置高度150dp 的RelativeLayout =>设置高度为50 DP

<com.itprovent.fotokodroid.CustomViewPager 
      android:id="@+id/composite_complex_and_sticky_viewpager" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      /> 
+0

谢谢,但是外面的布局,必须ScrollView – DeckyFx

+0

把你的父LinearLayout的高度设置为fill_parent。在你的代码中它是wrap_content。 – Sharj

+0

但androidstudio会显示警告并说高度必须是wrapcontent,可以忽略这个吗?实际上也没有帮助 – DeckyFx

0

你可以按照这个结构...

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

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

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="150dip" /> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="50dip" /> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="0dip" 
      android:layout_weight="1" /> 
    </LinearLayout> 

</ScrollView> 
+0

谢谢,但外部布局,必须ScrollView – DeckyFx

+0

看到我更新的答案。 –

+0

谢谢你,我尝试你的更新答案,但android工作室仍然显示0px高度的第三个线性布局, – DeckyFx