2014-08-29 105 views
0

我在LinearLayout中有6个按钮。布局居中。android layout自动调整按钮大小以填充高度

是否可以让按钮在高度自动调整大小,以便每个按钮的高度相同,但是所有按钮的总和(加上它们之间的间距为10dp)等于布局的高度。

我需要这样做,所以如果应用程序在屏幕较大或分辨率较高的设备上使用,它将缩放按钮以填充布局。

任何帮助和指导表示赞赏。

马克

编辑代码

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:orientation="vertical" 
     android:background="#ffffff" 
     android:layout_marginLeft="15dp" 
     android:layout_marginRight="15dp"> 

     <Button 
      android:id="@+id/button4" 
      android:layout_width="420px" 
      android:layout_height="99px" 
      android:layout_marginLeft="20sp" 
      android:layout_marginRight="20sp" 
      android:background="@drawable/butt1" 
      android:onClick="clk_raynes" 
      android:text="sitebutton" 
      android:layout_marginTop="10dp" 
      android:textColor="#000000" 
      android:textSize="50px" /> 


     <Button 
      android:id="@+id/rutlishbtn" 
      android:layout_width="420px" 
      android:layout_height="99px" 
      android:layout_marginLeft="20sp" 
      android:layout_marginRight="20sp" 
      android:layout_marginTop="6dp" 
      android:background="@drawable/butt1" 
      android:onClick="clk_rutlish" 
      android:text="Site2" 
      android:textColor="#000000" 
      android:textSize="50px" /> 


     <Button 
      android:id="@+id/harrisbtn" 
      android:layout_width="420px" 
      android:layout_height="99px" 
      android:layout_marginLeft="20sp" 
      android:layout_marginRight="20sp" 
      android:layout_marginTop="6dp" 
      android:background="@drawable/butt1" 
      android:onClick="clk_harris" 
      android:text="Site3" 
      android:textColor="#000000" 
      android:textSize="50px" /> 

     <Button 
      android:id="@+id/button3" 
      android:layout_width="420px" 
      android:layout_height="99px" 
      android:layout_marginLeft="20sp" 
      android:layout_marginRight="20sp" 
      android:layout_marginTop="6dp" 
      android:background="@drawable/butt1" 
      android:onClick="clk_ricards" 
      android:text="Site4" 
      android:textColor="#000000" 
      android:textSize="50px" /> 
     <Button 
      android:id="@+id/button10" 
      android:layout_width="420px" 
      android:layout_height="99px" 
      android:layout_marginLeft="20sp" 
      android:layout_marginRight="20sp" 
      android:layout_marginTop="6dp" 
      android:background="@drawable/butt1" 
      android:onClick="clk_btn10" 
      android:text="Site5" 
      android:textColor="#000000" 
      android:textSize="50px" /> 

     <Button 
      android:id="@+id/button11" 
      android:layout_width="420px" 
      android:layout_height="99px" 
      android:layout_marginLeft="20sp" 
      android:layout_marginRight="20sp" 
      android:layout_marginTop="6dp" 
      android:background="@drawable/butt1" 
      android:onClick="clk_btn11" 
      android:text="Site6" 
      android:textColor="#000000" 
      android:textSize="50px" /> 

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

     <Button 
      android:id="@+id/picbtn3" 

      android:layout_marginTop="6dp" 
      android:layout_marginBottom="190px" 

      android:text="³" 
      android:textColor="#000000" 
      android:textSize="30sp" 
      android:layout_width="60dp" 
      android:layout_height="60dp" 
      android:background="@drawable/butt1" 
      android:onClick="qrbtn" /> 

     </LinearLayout> 
     </ScrollView> 

回答

1

使用android:layout_height=0dpandroid:layout_weight=1在每个按钮

我希望这可以帮助您!

+0

请参阅上面的编辑它已经在它,但它仍然不会改变 – user3422687 2014-08-29 19:50:52

+0

男子我得到它的工作,但我有一个问题picbtn3它需要是正方形,但当高度改变它变成一个矩形作为宽度不会改变。我需要它来调整宽度是相同的高度我明白我不能这样做在静态XML但当我试图改变活动的宽度我得到一个无法投射布局错误任何想法 – user3422687 2014-08-30 09:48:38

+0

@ user3422687你可以以编程方式设置按钮的高度和宽度: 'LinearLayout.LayoutParams params =(LinearLayout.LayoutParams)picButton3.getLayoutParams(); params.height = 100; params.width = 100; picButton3.setLayoutParams(params); ' 如果你给我看布线错误的代码行,我可以帮你:) – MartinCR 2014-08-31 17:40:23

0

尝试在布局xml中使用android:layout_weight = 1,并将LinearLayout方向设置为垂直。使用按钮上的边距来创建所需的间隙。