zoukankan      html  css  js  c++  java
  • 设置drawable图片

    google官方建议在textView和imageView挨着的时候,建议使用drawable来显示图片

    第一个方法:setCompoundDrawablesWithIntrinsicBounds(Drawable left, Drawable top, Drawable right, Drawable bottom)

      api原文为:

    Sets the Drawables (if any) to appear to the left of, above, to the right of, and below the text. Use null if you do not want a Drawable there. The Drawables' bounds will be set to their intrinsic bounds.

    意思大概就是:可以在上、下、左、右设置图标,如果不想在某个地方显示,则设置为null。图标的宽高将会设置为固有宽高,既自动通过getIntrinsicWidth和getIntrinsicHeight获取。——笔者翻译


       button = (RadioButton) group.getChildAt(i);    Resources res = TabTest.this.getResources();    Drawable myImage = res.getDrawable(R.drawable.home);    button.setCompoundDrawablesWithIntrinsicBounds(null, myImage, null, null);

     第二种方法:setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom)

      api原文为:

    Sets the Drawables (if any) to appear to the left of, above, to the right of, and below the text. Use null if you do not want a Drawable there. The Drawables must already have had setBounds(Rect) called.

    意思大概就是:可以在上、下、左、右设置图标,如果不想在某个地方显示,则设置为null。但是Drawable必须已经setBounds(Rect)。意思是你要添加的资源必须已经设置过初始位置、宽和高等信息。——笔者翻译

      这下就明白了,这个方法要先给Drawable设置setBounds(x,y,width,height);

      x:组件在容器X轴上的起点 y:组件在容器Y轴上的起点 组件的长度 height:组件的高度。

      如代码:

    1  Resources res = TabTest.this.getResources();
    2  Drawable myImage = res.getDrawable(R.drawable.home);
    3  myImage.setBounds(1, 1, 100, 100);
    4  button.setCompoundDrawables(null, myImage, null, null);
  • 相关阅读:
    Linuxday4——文件管理
    LinuxDay9——文件查找和压缩
    LinuxDay1——计算机基础
    LinuxDay2——Linux历史
    LinuxDay5——标准I/O和管道
    加入园子一周年
    终于把Blog地址改为Random.cnblogs.com了
    写了个文件上传操作的类
    [照片]尖山行
    C#命名约定[转]
  • 原文地址:https://www.cnblogs.com/yiludugufei/p/4239243.html
Copyright © 2011-2022 走看看