【问题标题】:One game layout一款游戏布局
【发布时间】:2011-11-12 02:29:25
【问题描述】:

我想在 android 中制作比赛游戏布局。 我在使我的布局与所有屏幕分辨率兼容时遇到问题。 我想要的是左侧的主队图像图标,可伸缩的主队图像名称,主队得分文本,分隔符,客队得分文本,可伸缩的客队图像名称,客队图像图标正确的。 分数应该在中间。我就是搞不定。在此尝试之前,我尝试将主要布局分为 3 种布局:主队布局、比分布局和客场布局 - 没有成功获得预期结果。

有人可以帮忙吗?

这是我的一段代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:background="@color/GamesBGColor" >

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center" 
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/homeTeamIcon"
            android:layout_width="50dip"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:src="@drawable/holonlogo" />

        <ImageView
            android:id="@+id/homeTeamText"
            android:layout_height="wrap_content"            
            android:layout_gravity="center"            
            android:src="@drawable/holontext"
            android:layout_width="115dip"
            android:layout_marginLeft="3dip" />

        <TextView
            android:id="@+id/homeTeamScore"
            android:layout_width="25dip"
            android:layout_height="wrap_content"
            android:text="123"
            android:textColor = "@color/purple"
            android:layout_gravity="center"
            android:textStyle="bold"            
            android:layout_marginLeft="5dip" />

        <TextView
            android:id="@+id/seperator"
            android:layout_width="10dip"
            android:layout_height="wrap_content"
            android:text="-"
            android:layout_gravity="center"
            android:layout_marginLeft="7dip" />

         <TextView
            android:id="@+id/awayTeamScore"
            android:layout_width="25dip"
            android:layout_height="wrap_content"
            android:text="122"
            android:textColor = "@color/red"
            android:layout_gravity="center"
            android:textStyle="bold"            
            android:layout_marginLeft="7dip" />

         <ImageView
            android:id="@+id/awayTeamText"
            android:layout_height="wrap_content"
            android:layout_gravity="center"            
            android:src="@drawable/jerusalemtext"
            android:layout_width="115dip"
            android:layout_marginLeft="3dip"/>

         <ImageView
            android:id="@+id/awayTeamIcon"
            android:layout_width="50dip"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:src="@drawable/jerusalemlogo" />

      </LinearLayout>  
</LinearLayout>

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    如果您希望您的布局在不同分辨率的屏幕上工作,您应该使用dip 作为单位来调整它们的大小。例如:

    android:layout_marginRight="10dip"
    

    dip 代表 Device Independent Pixel,在您的布局中使用这些像素意味着 Android 将根据运行您的应用程序的设备自动缩放您的布局。

    您可以在Supporting Multiple Screens page in the Android Developer Documentation 中了解这些内容。该文档还提供了一些其他选项来处理不同的显示,但我认为使用dip 可能是最简单的。

    【讨论】:

    • 如你所见,我确实使用了蘸酱。我的问题是它没有延伸到一个完整的水平行。在大于 4 英寸的屏幕上,我在右侧有一些空间。例如,如果我增加主队名称的倾斜度,则客队的图标不适合 2.7 英寸的屏幕并且会超出屏幕。
    • 在这种情况下,您可以使用 Droiddraw 查看物理结构。它会让您了解应该使用什么是 dip 的确切值来解决您的问题。
    • 我正在尝试使用设计器,但仍然无法弄清楚如何根据需要填充一行。在较低的分辨率下,我在右侧出现溢出,而在较高的分辨率下,我没有为文本设置足够的“dip”..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    相关资源
    最近更新 更多