0

是否可以在其Activity中指定android按鈕的邊框? 我想保持按鈕png背景,並添加指定邊框,並刪除它或動態改變它的顏色。
拼圖板包含幾個按鈕,以便選擇,如果選擇不正確,採取紅色邊框。是否可以在保持背景的情況下在android按鈕中指定邊框?

+0

我想你必須使用一個圖層列表用位圖和形狀。看到這個帖子,它與您的問題類似:http://stackoverflow.com/questions/14377156/adding-a-image-to-layerlist-item-with-shape – Opiatefuchs

回答

1

使用ImageButton:使用您的PNG圖像作爲android:src和爲背景邊框添加一個可繪製的XML。

<ImageButton 
    android:id="@+id/button" 
    android:layout_width="75dp" 
    android:layout_height="70dp" 
    android:background="@drawable/border" 
    android:padding="15dp" 
    android:scaleType="fitCenter" 
    android:src="@drawable/your_image" /> 

res/drawable/border.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="@android:color/transparent" /> 
    <stroke 
     android:width="3dp" 
     android:color="@color/stroke_color"></stroke> 
    <corners 
     android:bottomLeftRadius="8dp" 
     android:bottomRightRadius="8dp" 
     android:topLeftRadius="8dp" 
     android:topRightRadius="8dp" /> 
</shape> 

要改變形狀邊框顏色programetically使用:

ImageButton button = (ImageButton) findViewById(R.id.button); 
GradientDrawable backgroundGradient = (GradientDrawable) button.getBackground(); 
backgroundGradient.setStroke(5, Color.RED); // set stroke width and stroke color 
相關問題