3

私はこれに不慣れなので許してください。ドキュメントとインターネット全般を検索してみましたが、理解できません。これは私のXMLです:

<RelativeLayout 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:background="#000000" >

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:contentDescription="@string/desc"
        android:src="@drawable/my_image" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="@string/hello_world"/>
</RelativeLayout>

次のようになります。

スクリーンショット

ボタンを完全に不透明にし、背景画像がボタンと混ざらないようにしたいだけです。つまり、画像を背景に配置し、ボタンをその上にしっかりと表示する必要があります。私は両方の要素のアルファ設定で遊んだのですが、それを理解することができませんでした。ありがとう。

4

3 に答える 3

1

ボタンの背景色を、を使用して好きな色に変更してみてくださいandroid:background。例:赤で使用するandroid:background = "#ff0000"

于 2012-10-14T00:45:20.357 に答える
0

相対レイアウト(クリック)を使用しています。これは強力なウィジェットコンテナですが、注意が必要です。

指定したボタンの場合layout_centerInParent=true、レイアウトマネージャーがそれを実行します-ボタンをコンテナーの中央(おそらく画面全体)に設定します

相対レイアウトでは、デフォルトですべての子ビューがレイアウトの左上に描画されます。そのため、そこにImageViewがペイントされます。また、設定layout_widthlayout_heightfill_parent、コンテナ全体を埋めます。

(たとえば、ImageViewの下に)配置する場合 android:layout_below="@id/ImageView_ID"は、Buttonプロパティで次のように指定する必要があります。

于 2012-10-14T00:19:33.480 に答える
0

ボタンの色を変更したくない場合は、提供された回答では不十分です。代わりに、黒の背景を持つ別のレイアウト内にボタンを配置します。例えば:

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:background="@android:color/black" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"/>

</LinearLayout>
于 2013-08-14T01:37:40.333 に答える