1

我想创建一个显示用户可以持有的 8 个项目的视图。当可用的项目少于 8 个时,项目的 imageView 将被替换为默认图像。

用户可以单击该项目,他将在布局顶部的 texbox 中看到每个项目的描述。此 EditText 放置在图像顶部,即“文本框”。到目前为止,我注意到有一个选项可以将图像注意到 editText,所以这个问题可能会得到解决。

在布局的底部,我想在左侧有一个取消按钮,在右侧有一个接受按钮。这样,用户可以在不选择项目或选择要使用的项目的情况下返回游戏。

问题是,当没有空间以全分辨率绘制图像时,布局会尝试以全分辨率绘制其内容。这就是为什么我的上排项目是全尺寸绘制的,而第二排是按比例缩小的。

它应该是这样的:

在此处输入图像描述

然后我尝试了以下方法:

  • 根布局是线性布局
  • 第一个布局是相对布局,包含 imageview 和 EditText。
  • 这些之后是一个线性布局(垂直),是另外两个线性布局(水平)的父级。
  • 我在其中每个中放置了 4 个图像视图,代表项目。

在此处输入图像描述 到目前为止,我还没有考虑接受和取消按钮,因为我的结果还是一团糟。 在此处输入图像描述

  <?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="fill_parent"
    android:gravity="bottom"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/textboxview"
            android:layout_width="fill_parent"
            android:layout_height="70dp"
            android:scaleType="fitXY"
            android:src="@drawable/textbox" />

        <com.gootsProject.AutoResizeTextView
            android:id="@+id/dialogText"
            style="@style/monologText"
            android:layout_width="fill_parent"
            android:layout_height="50dp" />
    </RelativeLayout>

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

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <ImageView
                android:id="@+id/ImageView07"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:src="@drawable/item_noitem" />

            <ImageView
                android:id="@+id/ImageView05"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:src="@drawable/item_noitem" />

            <ImageView
                android:id="@+id/ImageView04"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:src="@drawable/item_noitem" />

            <ImageView
                android:id="@+id/ImageView06"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:src="@drawable/item_noitem" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <ImageView
                android:id="@+id/ImageView03"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:src="@drawable/item_noitem" />

            <ImageView
                android:id="@+id/ImageView02"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:src="@drawable/item_noitem" />

            <ImageView
                android:id="@+id/ImageView01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:src="@drawable/item_noitem" />

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:src="@drawable/item_noitem" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

你能帮我按我的意图设置这个视图吗?我迷路了。

4

0 回答 0