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);
  • 相关阅读:
    hlgoj 1766 Cubing
    Reverse Linked List
    String to Integer
    Bitwise AND of Numbers Range
    Best Time to Buy and Sell Stock III
    First Missing Positive
    Permutation Sequence
    Next Permutation
    Gray Code
    Number of Islands
  • 原文地址:https://www.cnblogs.com/yiludugufei/p/4239243.html
Copyright © 2011-2022 走看看