我想設置沒有xml的圓角。我怎樣才能在java代碼中做到這一點?如何在java代碼中設置按鈕的角點半徑?
Button b = new Button (this);
b.set???? (??) ;
我試圖編寫b.setCornerRadius(3.0f),但它是未定義的按鈕對象。 謝謝。
我想設置沒有xml的圓角。我怎樣才能在java代碼中做到這一點?如何在java代碼中設置按鈕的角點半徑?
Button b = new Button (this);
b.set???? (??) ;
我試圖編寫b.setCornerRadius(3.0f),但它是未定義的按鈕對象。 謝謝。
在繪製文件夾中創建一個形狀並設置所需的半徑設置此繪製爲背景,以您的按鈕:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<corners android:radius="5dip"/>
</shape>
</item>
</layer-list>
喜加比, 感謝你的回答。我在創建時創建了xml文件,但是如何在代碼中接收對矩形的引用?我想這是像b.setBackground(getResources()。)。我寫的是什麼而不是? – 2012-01-03 10:22:09
您只需要獲取drawable(可繪製的是這個xml的名稱)並將其設置爲您的按鈕的背景(如果您是從代碼執行此操作)或者只是xml中的背景xml的名稱 – 2012-01-04 10:11:47
如果xml被命名「some_drawable.xml」,你可以通過以下方法:'b.setBackgroundResource(R.drawable.some_drawable);' – Stunner 2013-04-24 22:24:02
查看文檔Shape Drawable
您好Clemp6r,我現在看到了鏈接,但我仍然不明白我應該寫什麼。如果你能寫一些例子或一些解釋請。謝謝。 – 2012-01-03 10:31:05
@gabi的例子是正確的。像他的例子一樣創建一個XML文件,並使用button.setBackgroundResource(R.drawable.the_drawable_name)在java中應用產生的drawable。 – clemp6r 2012-01-03 14:44:43
使用GradientDrawable
GradientDrawable gdDefault = new GradientDrawable();
gdDefault.setColor(bgColor);
gdDefault.setCornerRadius(cornerRadius);
gdDefault.setStroke(strokeWidth, strokeColor);
嘗試setGradientRadius()。 setCornerRadius()設置錯誤的大小。
GradientDrawable drawable = (GradientDrawable)image.getBackground();
drawable.setGradientRadius(radiuspx);
看看這個:http://stackoverflow.com/questions/6003382/how-can-i-work-around-android-issue-9161-where-bottomrightradius-and-bottomleft – 2012-01-03 08:35:02