在android上制作一个4个矩形的等效列表

时间:2014-06-02 16:55:05

标签: android list gridview

我想实现一个像附加图像的视图。

我已经尝试使用tablelayout创建它,但问题是项目聚集在一起

我尝试使用gridview并为此编写了一个适配器,但问题仍然存在且项目没有找到正确的位置而且它们都聚集在一起

我的桌面布局:

<TableLayout
    android:id="@+id/mainlay"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:ignore="UselessParent" >

    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >


        <TextView
            android:id="@+id/main_page_gride_view_adapter_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="@string/main_page_values_levels"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/main_page_gride_view_adapter_text1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="@string/main_page_values_estamina"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </TableRow>

    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/main_page_gride_view_adapter_text2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="@string/main_page_values_speed"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/main_page_gride_view_adapter_text3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="@string/main_page_values_high_scores"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </TableRow>
</TableLayout>

并且想要的是:

enter image description here

提前致谢

3 个答案:

答案 0 :(得分:0)

I would like to use weight property into Linearlayout.

 <LinearLayout
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:weightSum="2">

    <Button
        android:layout_width="0dp"
        layout_gravity="right"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="1" />

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        layout_gravity="left"
        android:layout_weight="1"
        android:text="2" />
     </LinearLayout>
    <LinearLayout
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:weightSum="2">

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        layout_gravity="right"
        android:layout_weight="1"
        android:text="3" />

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        layout_gravity="left"
        android:layout_weight="1"
        android:text="4" />
     </LinearLayout>

答案 1 :(得分:0)

你可以使用3个线性布局

示例:

<LinearLayout
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:orientation:"vertical"
       android:weightSum="2">
    <LinearLayout
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:orientation:"horizontal"
       android:weightSum="2">

    <Button
        android:layout_width="0dp"
        layout_gravity="right"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="1" />

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        layout_gravity="left"
        android:layout_weight="1"
        android:text="2" />
     </LinearLayout>
    <LinearLayout
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:orientation:"horizontal"
       android:layout_weight="1"
       android:weightSum="2">

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        layout_gravity="right"
        android:layout_weight="1"
        android:text="3" />

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        layout_gravity="left"
        android:layout_weight="1"
        android:text="4" />
     </LinearLayout>
</LinearLayout>

答案 2 :(得分:0)

感谢另一个答案,我终于找到了解决方案,但它不是一个全局解决方案,它只适用于这个例子(4个矩形),我仍然不知道如何有一个好的模式例如6个矩形甚至更多。

所以我还在寻找答案!!! :))

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:weightSum="2" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:gravity="right"
    android:orientation="horizontal"
    android:weightSum="2" >

    <TextView
        android:id="@+id/main_page_controller_levels"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="right"
        android:layout_weight="1"
        android:gravity="center"
        android:text="@string/main_page_values_levels"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="@dimen/main_page_values_controller_font_size"
        tools:ignore="NestedWeights" />

    <TextView
        android:id="@+id/main_page_controller_estamina"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="right"
        android:layout_weight="1"
        android:gravity="center"
        android:text="@string/main_page_values_estamina"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="@dimen/main_page_values_controller_font_size" />
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:orientation="horizontal"
    android:weightSum="2" >

    <TextView
        android:id="@+id/main_page_controller_speed"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="right"
        android:layout_weight="1"
        android:gravity="center"
        android:text="@string/main_page_values_speed"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="@dimen/main_page_values_controller_font_size"
        tools:ignore="NestedWeights" />

    <TextView
        android:id="@+id/main_page_controller_high_scores"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="right"
        android:layout_weight="1"
        android:gravity="center"
        android:text="@string/main_page_values_high_scores"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="@dimen/main_page_values_controller_font_size" />
</LinearLayout>