在LinearLayout中使用TextView的GridView

时间:2010-11-28 14:38:17

标签: android gridview textview

我正在尝试为Android开发小型应用程序,用于计算用户集中度。我的想法是展示一个图像矩阵,用户被迫在一定的时间内选择给定的图像并计算用户的准确度。

问题是我不知道,如何设计一个结合了TextViews和GridViews的布局。

我尝试制作这样的UI,但我没有成功。

我认为将TextView1放入LinearLayout,然后放入GridView1,TextView2,GridView2和按钮就足够了。我尝试了更多导致我失败的组合。

你能给我一个如何设计这个布局的提示吗?

这是我的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView android:text="@+id/TextView01" 
        android:id="@+id/TextView01" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content">
        </TextView>

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

    <ImageView android:id="@+id/ImageView01" 
    android:layout_width="wrap_content" android:layout_height="wrap_content">
    </ImageView>

    <ImageView android:id="@+id/ImageView02" 
    android:layout_width="wrap_content" android:layout_height="wrap_content">
    </ImageView>

    <ImageView android:id="@+id/ImageView03" 
    android:layout_width="wrap_content" android:layout_height="wrap_content">
    </ImageView>
</LinearLayout>

<TextView android:text="@+id/TextView02" 
        android:id="@+id/TextView02" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content">
</TextView>
<LinearLayout
  android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:layout_weight="0.4">

    <GridView android:id="@+id/GridView01" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:numColumns="auto_fit"
        android:columnWidth="25px"
        android:stretchMode="none">
    </GridView>
</LinearLayout>
<LinearLayout android:id="@+id/LinearLayout01" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content">

          <Button android:text="@+id/Button01" 
                  android:id="@+id/Button01" 
                  android:layout_width="wrap_content" 
                  android:layout_height="wrap_content"></Button>
          <Button android:text="@+id/Button02" 
                  android:id="@+id/Button02" 
                  android:layout_width="wrap_content" 
                  android:layout_height="wrap_content"></Button>
</LinearLayout>

我已经设法在gridview中拥有更多列,并尽可能多地获得一行图像。但我不能设置一行的高度,只能设置一列的宽度。 gridview中的图像被放大,我看不到将它们设置为原始大小的方法。

2 个答案:

答案 0 :(得分:0)

我建议将所有东西嵌套到线性布局然后放置3线性布局

第一个会有上方栏(按钮的textview等) 第二个将有Gridview 第三个将有较低的栏(按钮的textview等) 您还可以在高度和宽度上放置线性布局填充父级,并将布局权重放到第1个到第二个0.5和第三个1,它将使它们显示在图片中显示的高度百分比... 试试看并告诉我们

答案 1 :(得分:0)

我建议花一点时间阅读Common Layout Objects。另一个好的资源是Hello, Views,这是一个关于如何使用不同布局的许多好教程的集合。