web-dev-qa-db-ja.com

ボタンに画像と影を設定する方法は?

シャドウを作成するには、シャドウxmlファイルを作成し、Android:background="@drawable/shadow"のように使用します。しかし、入れた画像もAndroid:background="@drawable/imageです。

ボタンの影と画像を1つのボタンに設定する方法は?

申し訳ありませんが、英語が堪能ではありません。

6
SunSpike

1。ImageButtonを使用

ImageButtonを使用してこれを試してください:-ユーザーが押したりクリックしたりできる(テキストの代わりに)画像付きのボタンを表示します。デフォルトでは、ImageButtonは通常のボタンのように見えます。標準のボタンの背景は、ボタンの状態が異なると色が変わります。

 <ImageButton
  Android:id="@+id/btnMain"
  Android:layout_width="match_parent"
  Android:layout_height="wrap_content"
  Android:adjustViewBounds="true"
  Android:contentDescription="@string/btnMain_description"
  Android:elevation="10dp"
  Android:background="@Android:drawable/dialog_holo_light_fram‌​e"
  Android:scaleType="centerInside"
  Android:src="@drawable/IMage"
 />

2。ユーザーCardVirewまたは、これを試すことができますbuttoncard view内に次のように追加します

この依存関係をコンパイルします

compile 'com.Android.support:cardview-v7:25.3.1'

このようなレイアウト

    <Android.support.v7.widget.CardView
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    app:cardElevation="10dp">

    <Button
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:background="@drawable/disha"
        Android:text="@string/app_name" />
</Android.support.v7.widget.CardView>

質問がある場合は私に聞いてください

3
Nilesh Rathod

これを実現するには、CardViewを使用します。

次のように、サポートライブラリをdependenciesに追加します。

dependencies {
compile 'com.Android.support:cardview-v7:25.2.0'//Add respective version
  }

レイアウトでこれを使用する

 <Android.support.v7.widget.CardView
                xmlns:card_view="http://schemas.Android.com/apk/res-auto"
                Android:id="@+id/card_view"
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                Android:background="@drawable/user_image"
                app:cardBackgroundColor="@Android:color/white"
                Android:foreground="?android:attr/selectableItemBackground"
                Android:layout_marginLeft="@dimen/activity_horizontal_margin"
                Android:layout_marginRight="@dimen/activity_horizontal_margin"
                Android:layout_marginTop="@dimen/padding_small"
                Android:layout_marginBottom="@dimen/padding_small"
                app:cardCornerRadius="4dp"
                app:cardElevation="10dp" > 

それが役に立ったら今私にさせてください。

1
Jeelan

res/drawableにbutton_selector.xmlを作成します:

<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item>
        <layer-list>
            <item Android:right="5dp" Android:top="5dp">
                <shape>
                    <corners Android:radius="3dp" />
                    <solid Android:color="#D6D6D6" />
                </shape>
            </item>
            <item Android:bottom="2dp" Android:left="2dp">
                <shape>
                    <gradient Android:angle="270" 
                        Android:endColor="#E2E2E2" Android:startColor="#BABABA" />
                    <stroke Android:width="1dp" Android:color="#BABABA" />
                    <corners Android:radius="4dp" />
                    <padding Android:bottom="10dp" Android:left="10dp" 
                        Android:right="10dp" Android:top="10dp" />
                </shape>
            </item>
        </layer-list>
    </item>

    </selector>

そしてあなたのxmlレイアウトで:

 <ImageButton
            Android:src="@mipmap/ic_launcher"
            Android:background="@drawable/shadow"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:elevation="10dp"/>
1