2014-01-19 28 views
-1

正如你在下面的图片中看到的,我有6个水平布局,每个水平布局6个图像按钮,共36个图像按钮。每个按钮在xdhpi中为120x123像素,在hdmi中为80x92,在mdpi文件夹中为53x61。在底部,您可以看到我的整个XML代码用于此活动。问题是,我需要这些砖块以hirizontaly的方式。正如你可以看到包含这些砖的布局一路走来,但图像不会。我试图让图像更大,128px在widht,但这根本没有帮助。如何绘制图像以填充页面?

enter image description here

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background="@drawable/background" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="365dp" > 

     <ImageView 
      android:id="@+id/ivSlika" 
      android:layout_width="fill_parent" 
      android:layout_height="match_parent" /> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="365dp" 
     android:orientation="vertical" > 

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

     <ImageButton 
      android:id="@+id/ib1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_01" 
      android:padding="0dp" />/ 

     <ImageButton 
      android:id="@+id/ib2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_02" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_03" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_04" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib5" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_05" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib6" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_06" 
      android:padding="0dp" /> 
    </LinearLayout> 

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

     <ImageButton 
      android:id="@+id/ib7" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_07" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib8" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_08" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib9" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_09" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib10" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_10" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib11" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_11" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib12" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_12" 
      android:padding="0dp" /> 
    </LinearLayout> 

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

     <ImageButton 
      android:id="@+id/ib13" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_13" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib14" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_14" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib15" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_15" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib16" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_16" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib17" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_17" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib18" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_18" 
      android:padding="0dp" /> 
    </LinearLayout> 

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

     <ImageButton 
      android:id="@+id/ib19" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_19" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib20" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_20" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib21" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_21" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib22" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_22" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib23" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_23" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib24" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_24" 
      android:padding="0dp" /> 
    </LinearLayout> 

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

     <ImageButton 
      android:id="@+id/ib25" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_25" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib26" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_26" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib27" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_27" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib28" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_28" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib29" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_29" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib30" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_30" 
      android:padding="0dp" /> 
    </LinearLayout> 

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

     <ImageButton 
      android:id="@+id/ib31" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_31" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib32" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_32" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib33" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_33" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib34" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_34" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib35" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_35" 
      android:padding="0dp" /> 

     <ImageButton 
      android:id="@+id/ib36" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/bricks_36" 
      android:padding="0dp" /> 
    </LinearLayout> 

    </LinearLayout> 

</FrameLayout> 

回答

1

3件事要记住:

  • 设置了android:layout_width孩子到“0dp”
  • 设置android:weightSum父(编辑:如Jason Moore 注意到的,这个属性是可选的,因为默认情况下它设置为 这个children的layout_weight总和)
  • 按比例设置每个孩子的android:layout_weight(例如, weightSum = “5”,三个孩子:layout_weight = “1”,layout_weight = “3”, layout_weight = “1”)

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:weightSum="6"> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="1" /> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="2" 
     android:text="2" /> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="3" 
     android:text="3" /> 

    </LinearLayout> 
+0

这几乎是很好的解决方案,但我仍然得到砖之间的空间。如何拉伸它们? – marjanbaz

+0

找到了。机器人:scaleType = “fitXY” – marjanbaz

0

在你的ImageButton再添加一个属性机器人:adjustViewBounds = “真”和instaed的 机器人:SRC = “@绘制/ img_icon”使用机器人:背景= “@绘制/ img_icon”

欲了解更多信息有关安卓adjustViewBoundsClick here.