1

这是我所拥有的:

这是布局:`

<TextView
    android:id="@+id/process_search"
    android:text="@string/home_screen" 
    style="@style/SubPageHeader"/>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/bottom_round_edges"
    android:padding="1dp" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/bottom_round_edges_white_back"
        android:gravity="center_vertical">

        <TableLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:stretchColumns="1">
               <!-- android:layout_gravity="center|bottom"-->

            <TableRow>

                <Button
                        android:id="@+id/btn_home_dados_pessoais"
                        android:layout_width="0dip"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center|bottom"
                        android:padding="10dip"
                        android:background="@android:color/transparent"
                        android:drawableTop="@drawable/ic_dados_pessoais_complete"
                        android:text="@string/home_dados_pessoais"
                        android:textColor="@android:color/darker_gray"
                        android:textSize="12sp"
                        android:textStyle="bold"/>

                <Button
                        android:id="@+id/btn_home_historico_pesquisas"
                        android:layout_width="0dip"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center"
                        android:padding="10dip"
                        android:background="@android:color/transparent"
                        android:drawableTop="@drawable/ic_pesquisa_complete"
                        android:text="@string/home_historico_pesquisas"
                        android:textColor="@android:color/darker_gray"
                        android:textSize="12sp"
                        android:textStyle="bold"  />
            </TableRow>

            <TableRow>

                <Button
                        android:id="@+id/btn_home_configuracoes"
                        android:layout_width="0dip"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center"
                        android:padding="10dip"
                        android:background="@android:color/transparent"
                        android:drawableTop="@drawable/ic_config_complete"
                        android:text="@string/home_configuracoes"
                        android:textColor="@android:color/darker_gray"
                        android:textSize="12sp"
                        android:textStyle="bold"/>

                <Button
                        android:id="@+id/btn_home_opcoes"
                        android:layout_width="0dip"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center"
                        android:padding="10dip"
                        android:background="@android:color/transparent"
                        android:drawableTop="@drawable/ic_android_complete"
                        android:text="template"
                        android:textColor="@android:color/darker_gray"
                        android:textSize="12sp"
                        android:textStyle="bold" />
            </TableRow>
        </TableLayout>
    </LinearLayout>
</LinearLayout>

`

我想要的是将文本放在按钮区域但在底部。我怎样才能做到这一点?

4

2 回答 2

0

创建一个新的可绘制对象,即按钮的灰色方形“背景”,并将其设置为 android:background。将您的可绘制按钮修改为仅具有透明背景的图标。只要这样做就会得到你想要的,一个灰色背景的按钮,底部的文本,顶部的图像。

编辑:在下面添加示例

图标可绘制(R.drawable.btnIcon1)

图标

背景可绘制(R.drawable.btnBackground)

在此处输入图像描述

<Button
    android:id="@+id/btn_home_dados_pessoais"
    android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center|bottom"
    android:padding="10dip"
    android:background="@drawable/btnBackground"
    android:drawableTop="@drawable/btnIcon1"
    android:text="@string/home_dados_pessoais"
    android:textColor="@android:color/darker_gray"
    android:textSize="12sp"
    android:textStyle="bold"/>
于 2013-06-24T17:18:30.333 回答
0

您可以使用FrameLayout. 根据文档

但是,您可以使用 android:layout_gravity 属性将多个子项添加到 FrameLayout 并通过为每个子项分配重力来控制它们在 FrameLayout 中的位置。

在您的情况下,xml 将变为:

<TableRow>
<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn_home_dados_pessoais"
        android:layout_width="0dip"                       
        android:layout_gravity="center"
        android:padding="10dip"
        android:background="@android:color/transparent"
        android:drawableTop="@drawable/ic_dados_pessoais_complete" />
     <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/home_dados_pessoais"
        android:textColor="@android:color/darker_gray"
        android:textSize="12sp"
        android:layout_gravity="bottom"
        android:textStyle="bold">
      <!-- The rest of the row -->
</FrameLayout>
</TableRow>

附带说明一下,我建议您为按钮使用一种样式:它们的大部分样式都是多余的。查看此页面以获取示例。

于 2013-06-24T17:04:00.267 回答