2011-11-22 33 views
8

Tôi đã vào nút sau:Tôi làm cách nào để mở rộng nền của nút?

<Button 
android:id="@+id/buttonok" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:drawableLeft="@drawable/back_no_save" 
android:text="OK" /> 

sự xuất hiện của nó là:

enter image description here

Làm thế nào tôi có thể mở rộng xuống drawable và hiển thị một mũi tên nhỏ của tôi?

Trả lời

1

Bạn có thể phóng to hình ảnh thực tế mà các điểm có thể vẽ được.

+2

Nó không phải là một ý tưởng tốt. – breceivemail

+0

Cách sử dụng ScaleDrawable? – zienkikk

10

Bạn có thể sử dụng một ImageButton và thử android:scaleType

ImageView.ScaleType

+4

Tôi cần văn bản "OK" để tôi không thể sử dụng ImageButton. – breceivemail

5

Tôi không hink bạn có thể từ xml. Không có thuộc tính xml nào có thể thực hiện mở rộng quy mô cho các nút. Bạn có thể làm điều đó programatically Mặc dù vậy, theo cách sau:

Bitmap originalBitmap= BitmapFactory.decodeResource(getResources(), R.drawable.icon); 
Bitmap scaledBitmap=Bitmap.createScaledBitmap(originalBitmap, newWidth, newHeight, true); 
txt.setBackgroundDrawable(new BitmapDrawable(bit)); 
1

Nếu bạn không muốn để đối phó với Bitmap.createScaledBitmap sau đó có vẻ như với tôi rằng cách tốt nhất để làm điều đó là để tạo ra thành phần của riêng bạn. Bạn có thể mở rộng RelativeLayout và đặt ImageView vào nó, ví dụ.

0

Tôi biết đây là một bài cũ, nhưng tôi đã làm một cái gì đó như thế này:

<LinearLayout 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:padding="16dp" 
    android:id="@+id/XXXXXXXXXXXX" 
    android:orientation="horizontal"> 
    <ImageView 
     android:src="@drawable/XXXXXXXXXXXX" 
     android:layout_width="48dp" 
     android:layout_height="48dp" 
     android:scaleType="centerInside" 
     android:id="@+id/XXXXXXXXXXXXXXXX"/> 
    <TextView 
     android:id="@+id/XXXXXXXXXXXXXX" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:text="XXXXXXX" 
     android:layout_gravity="center"/> 
</LinearLayout> 
Các vấn đề liên quan