2017-01-02 6 views
0

私はxmlに定義された正方形ImageButtonを持っています。ソースイメージはプログラムによって変更される可能性があります。 画像の内容に関係なく、は、右下隅に小さな灰色の三角形を表示します(目的は、画像をクリックしてリストから別のアイコンを選択することをユーザーに提案することです)。ここで私はマシュマロで見つかった例を示します。ImageButtonに三角の灰色の隅を配置する方法は?

enter image description here

どのようにそれを行うには?

+3

ような何かを行うことができます。 html?hl = es-419 – AndroidRuntimeException

+0

@AgustinSivoplásあなたの答えに感謝します。私が 'Spinner'を使って間違っていないなら、私はドロップダウンメニューを使わなければなりません!ですから、私が望むようにその動作を定義できるので、 'ImageButton'を使うことを好むでしょう。 – Robb1

+0

'LayerDrawable'を使用 – pskink

答えて

0

あなたが代わりのImageButtonのカスタムレイアウト、https://developer.android.com/guide/topics/ui/controls/spinnerでスピナーを使用することができ、この

  <RelativeLayout 
        android:id="@+id/image_holder" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_gravity="center" 
        android:gravity="center" 
        android:visibility="visible"> 

        <ImageView 
         android:id="@+id/chosenThing" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true" 
         android:layout_gravity="center" 
         android:adjustViewBounds="true" 
         android:contentDescription="@string/chosen_image" 
         android:scaleType="centerInside"/> 


        <ImageView 
         android:id="@+id/corner" 
         style="@style/Base.Widget.AppCompat.Button.Borderless" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_alignBottom="@id/chosenThing" 
         android:layout_alignLeft="@id/chosenThing" 
         android:layout_alignRight="@id/chosenThing" 
         android:layout_centerHorizontal="true" 
         android:clickable="true" 
         android:padding="8dp" 
         android:src="@drawable/ic_corner" 
         android:tint="@color/white" 
         android:gravity="bottom|right" /> 
       </RelativeLayout> 
+0

ありがとうございます! '@ drawable/ic_corner'はどこで入手できましたか?目標が2つの 'ImageViews'をオーバーラップさせる場合、' RelativeLayout'の代わりに 'FrameLayout'を使うべきではありませんか? – Robb1

+0

@ Robb1いいえ、 'layout_align..'属性のために' RelativeLayout'を使う必要があります。これは、2番目の画像を最初の画像に対して伸ばします。 '@ drawable/ic_corner' - あなたのコーナーのイメージです。ペイントで描画するか、XMLで描画します(可能な場合)。 – Ekalips

関連する問題