代码之家  ›  专栏  ›  技术社区  ›  user1205415

安卓-布局-调整图像按钮大小?

  •  0
  • user1205415  · 技术社区  · 12 年前

    我写了一个布局。布局上有5个按钮。

    http://imageshack.us/photo/my-images/607/layout.gif/
    

    这是我的表格布局:

    <TableLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:shrinkColumns="0,1"  android:stretchColumns="*">
    
    
    <TableRow
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:gravity="center_horizontal">
        <TextView
            android:layout_width="match_parent" 
            android:layout_height="wrap_content"
            android:textSize="14dp" 
            android:text="Hello"  
            android:layout_span="5"
            android:paddingTop="27dp"
            android:paddingBottom="25dp"
            android:textColor="#ffffff" 
            android:gravity="center" />
    </TableRow> 
    
    <TableRow>
    
        <FrameLayout
            android:layout_weight="0.2">
        </FrameLayout>   
    
        <FrameLayout
            android:layout_weight="0.2">
            <ImageButton
                android:id="@+id/ImageButton1"
                android:background="@drawable/ImageButton1"
                android:layout_width="97dp"
                android:layout_height="90dp" 
                android:layout_gravity="center"
                android:scaleType="center"
                 />
        </FrameLayout>
    
        <FrameLayout
            android:layout_weight="0.2">
           <ImageButton
                android:id="@+id/ImageButton2"
                android:layout_width="97dp"
                android:layout_height="90dp"
                android:background="@drawable/ImageButton2"
                android:layout_gravity="center"
                android:scaleType="center" />           
        </FrameLayout>
    
        <FrameLayout
            android:layout_weight="0.2">
           <ImageButton
                android:id="@+id/ImageButton3"
                android:layout_width="97dp"
                android:layout_height="90dp"
                android:background="@drawable/ImageButton3"
                android:layout_gravity="center"
                android:scaleType="center" />
        </FrameLayout>
    
        <FrameLayout
            android:layout_weight="0.2">
        </FrameLayout>   
    
    </TableRow>
    
    <TableRow>
    
        <FrameLayout
            android:layout_weight="0.2">
        </FrameLayout>   
    
        <TextView
                android:textSize="12dp" 
                android:text="Text1"  
                android:padding="3dp"
                android:textColor="#fff" 
                android:gravity="center" />   
    
        <TextView
                android:textSize="12dp" 
                android:text="Text2"  
                android:padding="3dp"
                android:textColor="#fff" 
                android:gravity="center" />  
    
        <TextView
                android:textSize="12dp" 
                android:text="Text3"  
                android:padding="3dp"
                android:textColor="#fff" 
                android:gravity="center" />  
    
        <FrameLayout
            android:layout_weight="0.2">
        </FrameLayout>   
    
    </TableRow>
    
    <View
        android:layout_height="30dp" />
    
    <TableRow>
    
        <FrameLayout
            android:layout_weight="0.2">
        </FrameLayout>   
    
        <FrameLayout
            android:layout_weight="0.2">
    
            <ImageButton
                android:id="@+id/ImageButton4"
                android:layout_width="97dp"
                android:layout_height="90dp"
                android:background="@drawable/ImageButton4"
                android:scaleType="center"
                android:layout_gravity="center" />
        </FrameLayout>
    
        <FrameLayout
            android:layout_weight="0.2">
            <ImageButton
                android:id="@+id/ImageButton5"
                android:layout_width="97dp"
                android:layout_height="90dp"
                android:background="@drawable/ImageButton5
                android:scaleType="center"
                android:layout_gravity="center" />        
        </FrameLayout>
    
        <FrameLayout
            android:layout_weight="0.2">
        </FrameLayout>
    
        <FrameLayout
            android:layout_weight="0.2">
        </FrameLayout>   
    
    </TableRow>
    
    </TableLayout>
    

    在我的大智能手机上一切都很好。但当我用我的小智能手机看的时候,底部屏幕上已经没有足够的空间了。我如何更改它,以便表布局可以缩放所有内容。

    我在这里通过图像按钮给出了这个:

    android:layout_width="97dp"
    android:layout_height="90dp" 
    

    这就是为什么小型智能手机底部没有足够的空间的原因。表格布局应缩放图像按钮。图像按钮不是正方形,而是类似矩形。

    表格布局应为水平100%和垂直100%。

    1 回复  |  直到 12 年前
        1
  •  1
  •   Sunny Kumar Aditya    12 年前

    我认为问题是由于缩放,而不是根据屏幕大小缩小。 您需要为所有三个类别的hdpi、mdpi和ldpi制作具有适当密度的新绘图。

    为了计算您需要的密度,您可以使用此工具 http://labs.skinkers.com/content/android_dp_px_calculator/

    缩放取决于屏幕大小和屏幕密度两个因素。

    有关更多信息,您可以查看 developer site 你会发现android是如何粗略地缩放图像的 enter image description here