1

这是布局代码

 <LinearLayout
    android:id="@+id/mapOptions"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:layout_alignParentBottom="true"
    android:background="@color/white" >

    <View
        android:id="@+id/mapOptionMenuShade"
        android:layout_width="match_parent"
        android:layout_height="1dip"
        android:layout_marginLeft="4dip"
        android:layout_marginRight="4dip"
        android:background="?android:attr/dividerVertical" />

    <Button
        android:id="@+id/BtnMap"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="?android:attr/selectableItemBackground"
        android:text="@string/map" />

    <View
        android:id="@+id/Shade2"
        android:layout_width="1dip"
        android:layout_height="wrap_content"
        android:layout_marginBottom="4dip"
        android:layout_marginTop="4dip"
        android:background="?android:attr/dividerVertical" />

    <Button
        android:id="@+id/BtnSatellite"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="?android:attr/selectableItemBackground"
        android:text="@string/satellite" />

    <View
        android:id="@+id/Shade3"
        android:layout_width="1dip"
        android:layout_height="wrap_content"
        android:layout_marginBottom="4dip"
        android:layout_marginTop="4dip"
        android:background="?android:attr/dividerVertical" />

    <Button
        android:id="@+id/BtnHybrid"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="?android:attr/selectableItemBackground"
        android:text="@string/hybrid" />
</LinearLayout>

但是对于那些“视图”,我无法显示我的按钮。

谷歌的边境按钮示例的链接。这就是我暗示这些观点的原因。

在这里,我想展示 3 个填充整个线性布局的无边框按钮


|-1--|-2--|-3--| |----|----|----|

谢谢

4

2 回答 2

2

Button您可以使用任何View 并将 onClickListener 附加到它,而不是使用它。因此,如果您想要无边框按钮,TextView请改用它,您将得到您想要的。尝试:

<TextView
    android:id="@+id/BtnSatellite"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="?android:attr/selectableItemBackground"
    android:text="@string/satellite" />

而不是你的

<Button
    android:id="@+id/BtnSatellite"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="?android:attr/selectableItemBackground"
    android:text="@string/satellite" />

(基本上从替换Button为开始TextView)。findViewById()如果您调用并将结果转换给您,请记住调整您的代码,如果您Button未更新它,您将获得 Cast Exception。

编辑

开发人员的文档 "Borderless button"中描述了替代方法,但是它需要至少运行 API11 (Honeycomb) 的设备,因此请明智地使用。

于 2012-11-19T15:06:00.283 回答
0

要创建无边框按钮,您需要将以下内容添加到按钮的 XML 代码中。这是 API 11 (Honeycomb) 的新功能

style="?android:attr/borderlessButtonStyle"

或者,您可以简单地为您的按钮使用 textView 或 ImageView。

于 2012-11-19T15:08:34.577 回答