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>

しかし、これらの「ビュー」では、ボタンを表示できません。

ボーダーランド ボタンの Google の例へのリンク。これが、私がこれらのビューを実装した理由です。

ここでは、線形レイアウト全体を埋める 3 つのボーダレス ボタンを表示したいと考えています。


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

ありがとうございました

4

2 に答える 2

2

使用する代わりに、任意のButtonビューを使用して 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 (ハニカム) の新機能です。

style="?android:attr/borderlessButtonStyle"

または、ボタンに textView または ImageView を使用することもできます。

于 2012-11-19T15:08:34.577 に答える