0

我正在开发一个应用程序,我正在尝试正确分配图像按钮,但根据它们正在改变的屏幕,我在低高和中可绘制文件夹中添加了低密度、高密度和中密度图像的图像。

这是我的代码和屏幕截图。

<?xml version="1.0" encoding="utf-8"?>
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"    
android:id="@+id/ScrollView01" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content">    
  <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1" 
    android:gravity="center"
    android:paddingLeft="20dip" 
    android:paddingRight="20dip" >

<TableRow>       
<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
  <ImageButton 
       android:id="@+id/aboutus"
       android:scaleType="fitCenter"
       android:src="@drawable/aboutus"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="2dp"
       android:background="@android:color/transparent"
       />
    <TextView
    android:text="About Us"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="3dip" 
    android:textColor="#ffffff" />
</LinearLayout>
   <LinearLayout 
   android:orientation="vertical" 
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >
   <ImageButton
       android:id="@+id/services"         
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:background="@android:color/transparent"
       android:padding="2dp"
       android:src="@drawable/services123" />
    <TextView
    android:text="Services"
     android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="3dip" android:textColor="#ffffff" />
    </LinearLayout>
  </TableRow>    
    <TableRow>
        <LinearLayout android:orientation="vertical" android:layout_width="fill_parent"
       android:layout_height="fill_parent">
    <ImageButton 
       android:id="@+id/courses"           
       android:src="@drawable/services"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="2dp"
       android:background="@android:color/transparent"
       />
    <TextView
    android:text="Courses"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="3dip" android:textColor="#ffffff" />
</LinearLayout>
   <LinearLayout 
   android:orientation="vertical" 
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">     
    <ImageButton 
       android:id="@+id/contactus"
       android:src="@drawable/services"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="2dp"
       android:background="@android:color/transparent"
       />
       <TextView
    android:text="contact us"
     android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="3dip" android:textColor="#ffffff" />
   </LinearLayout>
 </TableRow>
      <TableRow>
         <LinearLayout android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
    <ImageButton 
       android:id="@+id/syllabus"
       android:src="@drawable/services"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="2dp"
       android:background="@android:color/transparent"
       />
    <TextView
    android:text="Syllabus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="3dip" 
    android:textColor="#ffffff" />
</LinearLayout>
   <LinearLayout 
   android:orientation="vertical" 
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">          
    <ImageButton 
       android:id="@+id/pingtoupdates"
       android:src="@drawable/services"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="2dp"
       android:background="@android:color/transparent"
       />
    <TextView
    android:text="Ping To Updates"
     android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="3dip" android:textColor="#ffffff" />
    </LinearLayout>
  </TableRow>
 </TableLayout>

在此处输入图像描述

4

2 回答 2

1

我相信使用GridView将是最好的,因为您可以在那里修复布局并指定网格中每个图像的大小,而不管它们的大小。

检查此示例教程。

如果您需要更多示例代码,您可以在此处找到关于 GridView 的另一个不错的教程,教程解释了如何处理网格中的项目选择,即当您单击网格上的任何图像时会发生什么。

希望这可以帮助!

于 2012-08-31T16:07:46.273 回答
1

从一个表格行项目到另一个, layout_width 和 height 有两种变化。在某些 LinearLayout 中,您使用了 fill_parent、fill_parent,在某些 wrap_content 中使用了 wrap_content。首先,您需要更正此问题,因为您要求每行项目应具有相同的尺寸。
对于您的情况,更好的方法是使用 GridView。您只需为行项目创建一个布局文件(XML),然后您可以将其用于所有行项目。
这是网格项的示例代码:

 <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
        <ImageButton 
           android:id="@+id/aboutus"
           android:src="@drawable/aboutus"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:padding="2dp"
           android:background="@android:color/transparent"/>
        <TextView
           android:text="About Us"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:gravity="right"
           android:padding="3dip" 
           android:textColor="#ffffff" />
</LinearLayout>

如果您不熟悉 GridView,请点击此链接

完成此操作后,您应该尝试多设备支持。
您可以点击此链接获取多设备支持。

您还可以查看stackoverflow 帖子。

于 2012-08-31T16:32:20.447 回答