安卓:drawable
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="ring" > <size android:height="50dp" android:width="300dp" /> <!-- 拐角的弧度 --> <corners android:radius="10dp" /> <!-- 背景 --> <!-- <solid android:color="#ff0000" /> --> <!-- 渐变,和背景色冲突 --> <gradient android:angle="270" android:centerColor="#00ff00" android:endColor="#0000ff" android:startColor="#ff0000" /> <!-- stroke:击球,轻抚 -> 边框 --> <stroke android:width="5dp" android:color="#00ffff" /> </shape>
setContentView(R.layout.activity_main); // 获取像素密度 float scales = getResources().getDisplayMetrics().density; ZrLog.log(scales +""); // 像素 = 独立像素*像素密度+0.5 double width = scales * 10 + 0.5; Button bt = (Button) findViewById(R.id.bt); Drawable d = getResources().getDrawable(R.drawable.testdrawable); // 获取drawable尺寸 d.setBounds(0, 0, d.getIntrinsicHeight(), d.getIntrinsicHeight()); bt.setBackground(d); // 生成位图 Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.testdrawable);