标签: drawable

Android中 Bitmap和Drawable相互转换的方法

Android中 Bitmap和Drawable相互转换的方法

1、Drawable –> Bitmap

  1.     Bitmap drawable2Bitmap(Drawable drawable) {
  2.         if (drawable instanceof BitmapDrawable) {  
  3.             return ((BitmapDrawable) drawable).getBitmap();  
  4.         } else if (drawable instanceof NinePatchDrawable) {  
  5.             Bitmap bitmap = Bitmap
  6.                     .createBitmap(
  7.                             drawable.getIntrinsicWidth(),
  8.                             drawable.getIntrinsicHeight(),
  9.                             drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
  10.                                     : Bitmap.Config.RGB_565);
  11.             Canvas canvas = new Canvas(bitmap);  
  12.             drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),  
  13.                     drawable.getIntrinsicHeight());
  14.             drawable.draw(canvas);
  15.             return bitmap;  
  16.         } else {  
  17.             return null;  
  18.         }
  19.     }

2、从资源中获取的Drawable –> Bitmap

  1.     Resources res = getResources();
  2.     Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.pic);

 

3、Bitmap –> Drawable

  1.     Drawable bitmap2Drawable(Bitmap bitmap) {
  2.         return new BitmapDrawable(bitmap);  
  3.     }

 

4、Bitmap –> byte[]

  1.     byte[] Bitmap2Bytes(Bitmap bm) {  
  2.         ByteArrayOutputStream baos = new ByteArrayOutputStream();  
  3.         bm.compress(Bitmap.CompressFormat.PNG, 100, baos);  
  4.         return baos.toByteArray();  
  5.     }

 

5、 byte[] –> Bitmap

    1.     Bitmap Bytes2Bimap(byte[] b) {  
    2.         if (b.length != 0) {  
    3.             return BitmapFactory.decodeByteArray(b, 0, b.length);  
    4.         } else {  
    5.             return null;  
    6.         }
    7.     }

Drawable 添加过滤色,改变图片颜色

Drawable 添加过滤色,改变图片颜色

复制代码
 /**
   * 更改图片颜色
   * @param drawable
   * @param color
   * @return
   */
  public Drawable getDrawable(Drawable drawable,int color){
    drawable.setColorFilter(color, PorterDuff.Mode.MULTIPLY);
    return drawable;
  }
复制代码

 

Android开发之给控件设置圆角边框

先上效果图:

%title插图%num

具体步骤:

1.在drawable文件夹下新建一个xml文件。

2.在里面填上以下内容:

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <!–自定义的控件圆角背景–>
  3. <shape xmlns:android=“http://schemas.android.com/apk/res/android”>
  4. <solid android:color=“@color/white”/>
  5. <padding android:top=“10px” android:bottom=“10px”/>
  6. <corners android:radius=“50px”/>
  7. <stroke android:width=“1px” android:color=“#f08200”/>
  8. </shape>

3.在xml文件中使用:

%title插图%num

4.注释:

corners ———-圆角

gradient ———-渐变

padding ———-内容离边界距离

size ————大小

solid  ———-填充颜色

stroke ———-描边

注意的是corners的属性bottomLeftRadius为右下角、bottomRightRadius为左下角

shape制作虚线

%title插图%num

没有dashGap属性则为实线

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <shape xmlns:android=“http://schemas.android.com/apk/res/android”
  3. android:shape=“line” >
  4. <stroke
  5. android:dashGap=“3dp”
  6. android:dashWidth=“8dp”
  7. android:width=“1dp”
  8. android:color=“#63a219” />
  9. <size android:height=“1dp” />
  10. </shape>

4.0以上虚线变实线在xml文件中增加:

  1. <TextView
  2. android:layout_width=“match_parent”
  3. android:layout_height=“wrap_content”
  4. android:background=“@drawable/xuxian”
  5. android:layerType=“software” />

 

shape制作渐变

%title插图%num

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <shape xmlns:android=“http://schemas.android.com/apk/res/android” >
  3. <gradient
  4. android:angle=“270.0”
  5. android:endColor=“#ffffff”
  6. android:startColor=“#000000” />
  7. </shape>

 

Android如何设置圆角按钮

1. 在res目录下的drawable目录下新建shape.xml文件

<?xml version=”1.0″ encoding=”utf-8″?>
<shape xmlns:android=”http://schemas.android.com/apk/res/android”
android:shape=”rectangle” >

<!– 填充的颜色 –>
<solid android:color=”#FF065E8D” />

<!– 设置按钮的四个角为弧形 –>
<!– android:radius 弧形的半径 –>
<corners android:radius=”15dip” />

<!– padding:Button里面的文字与Button边界的间隔 –>
<padding
android:bottom=”10dp”
android:left=”10dp”
android:right=”10dp”
android:top=”10dp” />
</shape>

2.在布局文件中调用。

<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:orientation=”vertical” >

<Button
android:id=”@+id/roundButton”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:background=”@drawable/shape”
android:text=”圆角按钮” />
</LinearLayout>

————————————————

android studio实现圆角的button

操作过程
1. 在drawable中新建一个button_circle_shape.xml
但是建立这个xml是有操作的,因为从drawable右键是创建不了xml的, 具体操作如下:

右键res–>New–>Android resourse file

%title插图%num

注意Root element 是不能选择的 是直接填写为shape, 默认应该是selector 把它改为shape即可

%title插图%num

然后就可以看见在drawable 成功添加了xml

%title插图%num
2.填写代码
button_circle_shape.xml 内容如下
这个xml里有一个shape,此shape规定了圆角按钮的样式

<?xml version=”1.0″ encoding=”UTF-8″?>
<shape
xmlns:android=”http://schemas.android.com/apk/res/android”
android:shape=”rectangle”>
<!– 填充的颜色 –>
<solid android:color=”#FFFFFF” />
<!– android:radius 弧形的半径 –>
<!– 设置按钮的四个角为弧形 –>
<corners
android:radius=”5dip” />
<!–也可单独设置–>
<!– <corners –>
<!– android:topLeftRadius=”10dp”–>
<!– android:topRightRadius=”10dp”–>
<!– android:bottomRightRadius=”10dp”–>
<!– android:bottomLeftRadius=”10dp”–>
<!– /> –>
**设置文字padding**
<!– padding:Button里面的文字与Button边界的间隔 –>
<padding
android:left=”10dp”
android:top=”10dp”
android:right=”10dp”
android:bottom=”10dp”
/>
</shape>

3.使用shape:
给button的background属性赋值为刚创建的

android:background=”@drawable/button_circle_shape”
————————————————

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速