精华内容
下载资源
问答
  • 1.首先选择一张图片,点击格式菜单,找到大小模块的下角标,点击弹出布局大小设置。 2.然后将缩放部分的锁定纵横比以及相对原始图片大小的勾选去掉,此处可以按照需求调节高德以及宽度的值,点击确定按钮。 ...

    1.首先选择一张图片,点击格式菜单,找到大小模块的下角标,点击弹出布局大小的设置。

    2.然后将缩放部分的 锁定纵横比以及相对原始图片大小的勾选去掉,此处可以按照需求调节高德以及宽度的值,点击确定按钮。

    3.确定宽高,点击确定按钮后,参照的图片大小已经设置完毕。

    4.点击需要改变大小的其他图片,点击F4即可,此时图片大小会产生变化,会改变宽高的值,与参照图片宽高完全相同。

    如果需要保持原尺寸的纵横比,去掉的勾选处可以勾选上,就会以缩放模块的宽高百分比来缩放图片。

    展开全文
  • DIV CSS布局中css图片大小设置技巧

    万次阅读 2018-04-18 12:37:17
    DIV CSS布局中对于图片列表或图片排版时,图片不是固定宽度高度大小,但图片占位是固定宽度高度,这个时候如果使用CSS固定死图片大小(宽度 高度),这个时候如果图片相对于这个位置不是等比例大小,那么这张图片...

    DIV CSS布局中对于图片列表或图片排版时,图片不是固定宽度高度大小,但图片占位是固定宽度高度,这个时候如果使用CSS固定死图片大小(宽度 高度),这个时候如果图片相对于这个位置不是等比例大小,那么这张图片就会变形,让图片变的不清晰,这个时候想让图片不变形又按比例缩放,如何解决?我的个人解决方法如下两种:

    html代码如下:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>div中放置图片</title>
        <link rel="stylesheet" href="liu.css"/>
    </head>
    <body>
    <div class="center">
        <img src="./image/1.jpg"rel=""/>
    </div>
    </body>
    </html>
    css代码如下:

    *{
        margin: 0;
        padding: 0;
    }
    /*方法一*/
    .center{
        width: 500px;
        height: 300px;
        background: pink;
        /*实现div里的图片水平垂直居中*/
        display: table-cell;
        text-align: center;
        vertical-align: middle;
    }
    .center>img{
        /*1,图片过大1024*1024,让图片和布局高度宽度等比例缩放*/
        width: 300px;
        height: 180px;
    }


    /*方法二*/
    .center{
        overflow: hidden;
        width: 500px;
        height: 300px;
        background: pink;
        /*实现div里的图片水平垂直居中*/
       display: table-cell;
       text-align: center;
       vertical-align: middle;
    }
    .center>img{
        max-width: 200px/*
        2,使用max-width,如果图片高度过高会超出溢出盒子,这时需要给父级使用 overflow: hidden。
        注:解决IE6使用使用max-width或 max-height:因为IE6不支持,我们需要设置
        width:expression(this.width>500px?"300px":this.width)
        或width:expression(this.width>500px?"300px":this.width)
        max-width: 500px;
        _width:expression(this.width>500?"500px":this.width)*/
    }

    CSS DIV图片缩小不变形总结:最好解决方法就是从图片本身出发,将图片设计成与布局中宽度高度成等比例图片,才能保证真正图片缩小后不变形,显示完整。

    展开全文
  • 2.使用原生TextView的drawableLeft能够减少布局代码,无奈icon大小不能设置,只能眼巴巴找美工切图,我们是一个有节气的程序员,这个也不能忍 3. 当TextView不同状态下的文本颜色,背景边框等等需要通过Java代码编写...

    2017/09/07更新
    开发过程中,越发强烈的觉得需要对TextView进一步封装
    1.TextView需要设置背景或者边框时需要编写大量的selector,稍微修改一下样式又得编写一个新的selector,这个实在不能忍!
    2.使用原生TextView的drawableLeft能够减少布局代码,无奈icon大小不能设置,只能眼巴巴找美工切图,我们是一个有节气的程序员,这个也不能忍
    3. 当TextView不同状态下的文本颜色,背景边框等等需要通过Java代码编写乱七八糟的逻辑,为了代码可维护性我们必须要编写一个便于实现这些功能的控件:RTextView

    这里写图片描述这里写图片描述

    没错这个就是RTextView的效果,很强大有木有?一个控件搞定所有优美布局的既视感,关键是方便。真的很好用,笔者已经将该控件应用到项目中,看官们可以以不到github了解详情

    Github地址https://github.com/RuffianZhong/RTextView


    以下内容为原始文章,也是封装控件的最初想法


    这里写图片描述

    如上图所述,绿色框框中的布局你会怎么实现?
    大概有两种方式解决
    方法1:一个LinearLayout里面放一个ImageView和一个TextView
    方法2:一个TextView然后设置drawableLeft

    实现是没有问题,但是我有强迫症,总觉得他们不完美,来说说两种方法的缺点
    方法1:靠,这是什么鬼,不觉得巨麻烦吗?要写三个控件,还要嵌套。要是一行多几个这样的控件,一整个页面得嵌套多少层啊?不行!
    方法2:这个好像不错哦,直接设置drawableLeft(四个方向都行)搞定。但是!这个drawable的大小是不能够通过代码设置大小的!只能叫UI裁剪成合适的图片。卧槽,一定得裁剪到刚好合适?怎么样才合适?看着差不多就好了?所以还是个坑!也不行!

    知识是要拿来用的,不是会自定义view吗?那就自己写啊。

    需求:text的四周可以设置辅助图标,并且可以设置图标的大小!还要可以设置图片和文字的间距

    OK,需求明确了,我一开始想继承RelativeLayout来实现。后来想想TextView都有drawableLeft 之类的属性,肯定可以从这里入手更简单。只要可以改变drawable的大小就好了。

    仔细看了TextView相关的API
    1.可以获取到drawable的列表(因为四个方向都可以设置)
    2.但是无法获取到是哪一个方向上设置的drawable
    3.可以通过代码设置drawableLeft 效果

    1.自定义View的属性

    既然无法获取到是哪一个方向上的drawable,那就自己定义一个方向的属性,并且自己定一个drawable的属性。
    按照需求,属性有:drawable,drawable宽宽,drawable高度,drawable方向
    我们在 /value/attrs.xml 中这么写:

        <!-- RichText -->
        <declare-styleable name="RichText">
            <attr name="drawable_src" format="reference" />
            <attr name="drawable_height" format="dimension" />
            <attr name="drawable_width" format="dimension" />
            <attr name="drawable_location">
                <enum name="left" value="1" />
                <enum name="top" value="2" />
                <enum name="right" value="3" />
                <enum name="bottom" value="4" />
            </attr>
        </declare-styleable>

    2.在View的构造方法中获得我们自定义的属性

    public class RichText extends TextView {
    
        public static final int LEFT = 1, TOP = 2, RIGHT = 3, BOTTOM = 4;
    
        private int mHeight, mWidth;
    
        private Drawable mDrawable;
    
        private int mLocation;
    
        public RichText(Context context) {
            this(context, null);
        }
    
        public RichText(Context context, AttributeSet attrs) {
            super(context, attrs);
    
            TypedArray a = context.obtainStyledAttributes(attrs,
                    R.styleable.RichText);
    
            mWidth = a
                    .getDimensionPixelSize(R.styleable.RichText_drawable_width, 0);
            mHeight = a.getDimensionPixelSize(R.styleable.RichText_drawable_height,
                    0);
            mDrawable = a.getDrawable(R.styleable.RichText_drawable_src);
            mLocation = a.getInt(R.styleable.RichText_drawable_location, LEFT);
    
            a.recycle();
            //绘制Drawable宽高,位置
            drawDrawable();
    
        }
        }

    代码很简单,获取自定义的四个属性值,需要注意的是,这里继承TextView

    这里不用重新计算宽高,因为TextView 会帮我们计算,这就是继承自带控件的好处

    接下来也不用重写onDraw方法,因为这里没有什么需要绘制的

    3.绘制Drawable宽高,位置

    接下来直奔主题,直接绘制drawable宽高,位置(相对于text的方向)
    其实关键方法就一个

    textView.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null);

    参数分表代表左,上,右,下。不设置就使用null

    靠,写着写着发现好坑哦,就一个关键方法还特意写一篇博客。算了,还是继续写吧。

        /**
         * 绘制Drawable宽高,位置
         */
        public void drawDrawable() {
    
            if (mDrawable != null) {
                Bitmap bitmap = ((BitmapDrawable) mDrawable).getBitmap();
                Drawable drawable;
                if (mWidth != 0 && mHeight != 0) {
    
                    drawable = new BitmapDrawable(getResources(), getBitmap(bitmap,
                            mWidth, mHeight));
    
                } else {
                    drawable = new BitmapDrawable(getResources(),
                            Bitmap.createScaledBitmap(bitmap, bitmap.getWidth(),
                                    bitmap.getHeight(), true));
                }
    
                switch (mLocation) {
                case LEFT:
                    this.setCompoundDrawablesWithIntrinsicBounds(drawable, null,
                            null, null);
                    break;
                case TOP:
                    this.setCompoundDrawablesWithIntrinsicBounds(null, drawable,
                            null, null);
                    break;
                case RIGHT:
                    this.setCompoundDrawablesWithIntrinsicBounds(null, null,
                            drawable, null);
                    break;
                case BOTTOM:
                    this.setCompoundDrawablesWithIntrinsicBounds(null, null, null,
                            drawable);
                    break;
                }
            }
    
        }

    这个方法是设置Drawable的宽高和位置。代码很简单。
    判断是否设置了Drawable(别忘了我们本身可是TextView啊)
    如果Drawable不为空,则判断宽高是否设置,如果设置了宽高则绘制成指定的宽高,否则按Drawable原图大小绘制
    根据指定方向在text对应的位置设置Drawable

    这里需要注意的是,直接绘制成为指定的宽高,运行效果发现Drawable会被从左上角开始裁剪成为指定的大小。
    所以我们需要根据Drawable原来的大小和目标宽高进行裁剪(缩放)

        /**
         * 缩放图片
         * 
         * @param bm
         * @param newWidth
         * @param newHeight
         * @return
         */
        public Bitmap getBitmap(Bitmap bm, int newWidth, int newHeight) {
            // 获得图片的宽高
            int width = bm.getWidth();
            int height = bm.getHeight();
            // 计算缩放比例
            float scaleWidth = (float) newWidth / width;
            float scaleHeight = (float) newHeight / height;
            // 取得想要缩放的matrix参数
            Matrix matrix = new Matrix();
            matrix.postScale(scaleWidth, scaleHeight);
            // 得到新的图片
            return Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
        }

    这样绘制的Drawable才是完整的,按照我们想要的大小缩放后的Drawable

    4.布局文件中使用

        <cn.r.richtext.android.widget.RichText
                xmlns:view="http://schemas.android.com/apk/res-auto"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="20dp"
                android:drawablePadding="8dp"
                android:gravity="center"
                android:text="554"
                android:textColor="#FFFFFF"
                view:drawable_height="35dp"
                view:drawable_location="left"
                view:drawable_src="@drawable/preview_comment_icon"
                view:drawable_width="35dp" />

    恩恩,真正的soeasy!妈妈再也不用担心我嵌套太多布局了。一个控件搞定

    这里说明一下,这里是继承TextView所以TextView的所有属性都是可用的,
    比如:设置文字和图标之间的间距( android:drawablePadding=”8dp”
    比如:如果图标较大,文字的对齐方式( android:gravity=”center”
    等等,,,

    虽然超简单,但是我忽然爱上这个控件了,因为超方便。

    源码下载

    展开全文
  • 代码效果 前两天一个朋友提出的需求,用RadioButton实现的应用页面切换。...其二,RadioButton设置图片后,无法在xml中设置图片大小,导致布局不美观。那么问题来了?如何设置这个图片的大小。 百度常见...

    代码效果


    前两天一个朋友提出的需求,用RadioButton实现的应用页面切换。效果图如下


    这种想法很好,但也出现了两个问题:其一,界面扩展性很差;其二,RadioButton设置图片后,无法在xml中设置图片大小,导致布局不美观。那么问题来了?如何设置这个图片的大小。

    百度常见的回答是,在代码中动态设置图片大小。然后设置在布局上。代码如下:

    [java] view plaincopy

    1. mRadioButton.setCompoundDrawables(left, top, right, bottom);  

     参数类型都是Drawable,分别是左,上,右,下四个方向要显示的Drawable图片我们查看setCompoundDrawables(left, top, right, bottom)方法:有这样的一段说明:

    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 hadDrawable.setBounds called.

    意思是说,用次方法之前,需要用Drawable.setBounds()方法来为Drawable图片设置边界,即要显示的大小。

    达到同样效果的还有一个方法:

    [java] view plaincopy

    1. setCompoundDrawablesWithIntrinsicBounds(drawableLeft, drawableTop, drawableRight, drawableBottom);  

    进入源码查看该方法的具体实现:

    [java] view plaincopy

    1. public void setCompoundDrawablesWithIntrinsicBounds(Drawable left, Drawable top,  

    2.             Drawable right, Drawable bottom) {  

    3.   

    4.         if (left != null) {  

    5.             left.setBounds(00, left.getIntrinsicWidth(), left.getIntrinsicHeight());  

    6.         }  

    7.         if (right != null) {  

    8.             right.setBounds(00, right.getIntrinsicWidth(), right.getIntrinsicHeight());  

    9.         }  

    10.         if (top != null) {  

    11.             top.setBounds(00, top.getIntrinsicWidth(), top.getIntrinsicHeight());  

    12.         }  

    13.         if (bottom != null) {  

    14.             bottom.setBounds(00, bottom.getIntrinsicWidth(), bottom.getIntrinsicHeight());  

    15.         }  

    16.         setCompoundDrawables(left, top, right, bottom);  

    17.     }  

     原来这个方法,同样调用了setCompoundDrawables(left, top, right, bottom)方法,并在调用之前,给传入的图片设置了边界范围,即图片自身的大小。再看这个方法的注释:

    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.

    意思是说:设置drawable图像显示在文字的上下左右的位置,如果不想设置,则传递null参数。drawable图片的边界是其自身固定的边界范围。

    OK,一切明了,那么是不是我们自己改变这个边界值参数,就能达到改变图片大小的目的呢?答案是肯定的。下面,是见证奇迹的时刻。
    首先,我们要在xml中用到设置图片大小的属性,这里用drawableSize来显示。然后分别给出四个方向的图片属性。最后我们得到的attrs.xml文件的内容为:

    [html] view plaincopy

    1. <?xml version="1.0" encoding="utf-8"?>  

    2. <resources>  

    3.       

    4.     <declare-styleable name="MyRadioButton">  

    5.           

    6.         <attr name="drawableSize" format="dimension"/>  

    7.         <attr name="drawableTop" format="reference"/>  

    8.         <attr name="drawableLeft" format="reference"/>  

    9.         <attr name="drawableRight" format="reference"/>  

    10.         <attr name="drawableBottom" format="reference"/>  

    11.           

    12.     </declare-styleable>  

    13.       

    14. </resources>  


    规定了属性后,我们需要在代码中获取到这些属性,从而来在视图中显示我们需要的情况。

    获取属性的代码如下:

    [java] view plaincopy

    1. Drawable drawableLeft = null, drawableTop = null, drawableRight = null, drawableBottom = null;  

    2.         TypedArray a = context.obtainStyledAttributes(attrs,  

    3.                 R.styleable.MyRadioButton);  

    4.   

    5.         int n = a.getIndexCount();  

    6.         for (int i = 0; i < n; i++) {  

    7.             int attr = a.getIndex(i);  

    8.             Log.i("MyRadioButton""attr:" + attr);  

    9.             switch (attr) {  

    10.             case R.styleable.MyRadioButton_drawableSize:  

    11.                 mDrawableSize = a.getDimensionPixelSize(R.styleable.MyRadioButton_drawableSize, 50);  

    12.                 Log.i("MyRadioButton""mDrawableSize:" + mDrawableSize);  

    13.                 break;  

    14.             case R.styleable.MyRadioButton_drawableTop:  

    15.                 drawableTop = a.getDrawable(attr);  

    16.                 break;  

    17.             case R.styleable.MyRadioButton_drawableBottom:  

    18.                 drawableRight = a.getDrawable(attr);  

    19.                 break;  

    20.             case R.styleable.MyRadioButton_drawableRight:  

    21.                 drawableBottom = a.getDrawable(attr);  

    22.                 break;  

    23.             case R.styleable.MyRadioButton_drawableLeft:  

    24.                 drawableLeft = a.getDrawable(attr);  

    25.                 break;  

    26.             default :  

    27.                     break;  

    28.             }  

    29.         }  

    30.         a.recycle();  


    好了,这里我们已经获取到设置的图片,以及需要图片显示的大小drawableSize。接下来重写setCompoundDrawablesWithIntrinsicBounds方法。将我们需要的图片大小设置给图片。

    [java] view plaincopy

    1. public void setCompoundDrawablesWithIntrinsicBounds(Drawable left,  

    2.             Drawable top, Drawable right, Drawable bottom) {  

    3.   

    4.         if (left != null) {  

    5.             left.setBounds(00, mDrawableSize, mDrawableSize);  

    6.         }  

    7.         if (right != null) {  

    8.             right.setBounds(00, mDrawableSize, mDrawableSize);  

    9.         }  

    10.         if (top != null) {  

    11.             top.setBounds(00, mDrawableSize, mDrawableSize);  

    12.         }  

    13.         if (bottom != null) {  

    14.             bottom.setBounds(00, mDrawableSize, mDrawableSize);  

    15.         }  

    16.         setCompoundDrawables(left, top, right, bottom);  

    17.     }  


    设置给图片后,不要忘了调用setCompoundDrawables(left, top, right, bottom)方法,我们要在视图中显示图片。这个方法的内容感兴趣的可以自己查阅源码。

    到此,我们代码部分已经编写完毕。

    接下来添加需要的图片资源以及xml布局设置。

    xml布局如下:

    [html] view plaincopy

    1. <?xml version="1.0" encoding="utf-8"?>  

    2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  

    3.     xmlns:myradio="http://schemas.android.com/apk/res/com.example.test"  

    4.     android:layout_width="match_parent"  

    5.     android:layout_height="match_parent" >  

    6.   

    7.     <LinearLayout  

    8.         android:layout_width="fill_parent"  

    9.         android:layout_height="fill_parent"  

    10.         android:orientation="vertical" >  

    11.   

    12.         <FrameLayout  

    13.             android:id="@+id/tab_content"  

    14.             android:layout_width="fill_parent"  

    15.             android:layout_height="0dp"  

    16.             android:layout_weight="1.0"  

    17.             android:background="#FFFFFF" />  

    18.           

    19.           

    20.   

    21.         <RadioGroup  

    22.             android:id="@+id/rgs"  

    23.             android:layout_width="match_parent"  

    24.             android:layout_height="wrap_content"  

    25.             android:background="@color/whiet"  

    26.             android:gravity="center"  

    27.             

    28.             android:orientation="horizontal" >  

    29.   

    30.               

    31.             <com.example.test.MyRadioButton  

    32.                 android:id="@+id/tab_a"  

    33.                 android:layout_width="0dp"  

    34.                 android:layout_height="wrap_content"  

    35.                 android:layout_weight="1"  

    36.                 android:layout_marginLeft="10dp"  

    37.                 android:layout_marginRight="10dp"  

    38.                 android:background="@color/whiet"  

    39.                 android:button="@null"  

    40.                 android:clickable="true"  

    41.                   

    42.                 myradio:drawableTop="@drawable/shouye_radiobutton"  

    43.                 myradio:drawableSize="20dp"  

    44.                   

    45.                   

    46.                 android:gravity="center"  

    47.                 android:text="首页"  

    48.                 android:textSize="13sp" />  

    49.   

    50.             <com.example.test.MyRadioButton  

    51.                 android:id="@+id/tab_b"  

    52.                 android:layout_width="0dp"  

    53.                 android:layout_height="wrap_content"  

    54.                 android:layout_weight="1"  

    55.                 android:background="@color/whiet"  

    56.                 android:layout_marginLeft="10dp"  

    57.                 android:layout_marginRight="10dp"  

    58.                 android:button="@null"  

    59.                 android:checked="true"  

    60.                 android:clickable="true"  

    61.                   

    62.                 myradio:drawableTop="@drawable/fenlei_radiobutton"  

    63.                 myradio:drawableSize="30dp"  

    64.                   

    65.                 android:gravity="center"  

    66.                 android:text="分类"  

    67.                 android:textSize="13sp" />  

    68.   

    69.             <RadioButton  

    70.                 android:id="@+id/tab_c"  

    71.                 android:layout_width="wrap_content"  

    72.                 android:layout_height="wrap_content"  

    73.                 android:layout_marginBottom="10dp"  

    74.                 android:background="@color/whiet"  

    75.                 android:button="@null"  

    76.                 android:drawableTop="@drawable/gouwuche_bg"  

    77.                 android:gravity="center"  

    78.                 android:paddingTop="10dip" />  

    79.   

    80.             <RadioButton  

    81.                 android:id="@+id/tab_d"  

    82.                 android:layout_width="0dp"  

    83.                 android:layout_height="wrap_content"  

    84.                 android:layout_weight="1"  

    85.                 android:layout_marginLeft="10dp"  

    86.                 android:layout_marginRight="10dp"  

    87.                 android:background="@color/whiet"  

    88.                 android:button="@null"  

    89.                 android:drawableTop="@drawable/faxian_radiobutton"  

    90.                 android:gravity="center"  

    91.                 android:text="发现"  

    92.                 android:textSize="13sp" />  

    93.   

    94.             <RadioButton  

    95.                 android:id="@+id/tab_e"  

    96.                 android:layout_width="0dp"  

    97.                 android:layout_height="wrap_content"  

    98.                 android:layout_weight="1"  

    99.                 android:background="@color/whiet"  

    100.                 android:layout_marginLeft="10dp"  

    101.                 android:layout_marginRight="10dp"  

    102.                 android:button="@null"  

    103.                 android:drawableTop="@drawable/wode_radiobutton"  

    104.                 android:gravity="center"  

    105.                 android:text="我的"  

    106.                   

    107.                 android:textSize="13sp" />  

    108.         </RadioGroup>  

    109.     </LinearLayout>  

    110.   

    111. </RelativeLayout>  


    其中,头两个RadioButton用了自定义的。另外的是系统的,用来做对比。不要忘了用自定义属性时的命名空间和自定义的RadioButton的可点击属性。android:clickable="true"。

    自定义RadioButton的完整源码如下:

    [java] view plaincopy

    1. package com.example.test;  

    2.   

    3. import android.R.integer;  

    4. import android.R.raw;  

    5. import android.content.Context;  

    6. import android.content.res.Resources;  

    7. import android.content.res.TypedArray;  

    8. import android.graphics.drawable.Drawable;  

    9. import android.util.AttributeSet;  

    10. import android.util.Log;  

    11. import android.widget.RadioButton;  

    12.   

    13. public class MyRadioButton extends RadioButton {  

    14.   

    15.     private int mDrawableSize;// xml文件中设置的大小  

    16.   

    17.     public MyRadioButton(Context context) {  

    18.         this(context, null0);  

    19.     }  

    20.   

    21.     public MyRadioButton(Context context, AttributeSet attrs) {  

    22.         this(context, attrs, 0);  

    23.     }  

    24.   

    25.     public MyRadioButton(Context context, AttributeSet attrs, int defStyle) {  

    26.         super(context, attrs, defStyle);  

    27.         // TODO Auto-generated constructor stub  

    28.         Drawable drawableLeft = null, drawableTop = null, drawableRight = null, drawableBottom = null;  

    29.         TypedArray a = context.obtainStyledAttributes(attrs,  

    30.                 R.styleable.MyRadioButton);  

    31.   

    32.         int n = a.getIndexCount();  

    33.         for (int i = 0; i < n; i++) {  

    34.             int attr = a.getIndex(i);  

    35.             Log.i("MyRadioButton""attr:" + attr);  

    36.             switch (attr) {  

    37.             case R.styleable.MyRadioButton_drawableSize:  

    38.                 mDrawableSize = a.getDimensionPixelSize(R.styleable.MyRadioButton_drawableSize, 50);  

    39.                 Log.i("MyRadioButton""mDrawableSize:" + mDrawableSize);  

    40.                 break;  

    41.             case R.styleable.MyRadioButton_drawableTop:  

    42.                 drawableTop = a.getDrawable(attr);  

    43.                 break;  

    44.             case R.styleable.MyRadioButton_drawableBottom:  

    45.                 drawableRight = a.getDrawable(attr);  

    46.                 break;  

    47.             case R.styleable.MyRadioButton_drawableRight:  

    48.                 drawableBottom = a.getDrawable(attr);  

    49.                 break;  

    50.             case R.styleable.MyRadioButton_drawableLeft:  

    51.                 drawableLeft = a.getDrawable(attr);  

    52.                 break;  

    53.             default :  

    54.                     break;  

    55.             }  

    56.         }  

    57.         a.recycle();  

    58.           

    59.         setCompoundDrawablesWithIntrinsicBounds(drawableLeft, drawableTop, drawableRight, drawableBottom);  

    60.   

    61.     }  

    62.   

    63.     public void setCompoundDrawablesWithIntrinsicBounds(Drawable left,  

    64.             Drawable top, Drawable right, Drawable bottom) {  

    65.   

    66.         if (left != null) {  

    67.             left.setBounds(00, mDrawableSize, mDrawableSize);  

    68.         }  

    69.         if (right != null) {  

    70.             right.setBounds(00, mDrawableSize, mDrawableSize);  

    71.         }  

    72.         if (top != null) {  

    73.             top.setBounds(00, mDrawableSize, mDrawableSize);  

    74.         }  

    75.         if (bottom != null) {  

    76.             bottom.setBounds(00, mDrawableSize, mDrawableSize);  

    77.         }  

    78.         setCompoundDrawables(left, top, right, bottom);  

    79.     }  

    80.   

    81. }  


    代码很简单,就没有写注释。解释的内容都在文中了。

    至此自定义改变Drawable图片大小的RadioButton已经完成。经此一役,我们可以定义任何想要的东东。没有做不到,只有想不到。


    源码下载地址

    转载请注明出处



    转载于:https://my.oschina.net/moziqi/blog/485217

    展开全文
  • 首先RatingBar在xml布局时,width和 height都要设置为content_wrap。这样你设置图片个数才能正常显示。  在styles文件中,RatingBar的自定义style标签中添加两个item:minHeight和maxHeigh
  • 将radiobutton的background和button都设置为null,并将图片使用drawabletop添加进去。布局代码: &lt;RadioButton android:id="@+id/select_my" android:layout_width="0dp" android:...
  • 展开全部一、HTML标签内控制宽度高度Img标签教程:1、我们在HTML布局时候直接在图片img标签加宽度和高度属性即可控制图片高和宽;2、我们可以直接在图片标e69da5e887aa62616964757a686964616f31333366303766签设置...
  • 在网页布局时我们经常会遇到这样的问题:图片的分辨率是1024*768,在1024*748的屏幕上能显示完整,一旦在800*600的屏幕上是就显示不完整,为了让图片大小能适应不同的分辨率,可以这样来设置背景:<div style=...
  • 做网页时,我们通常需要考虑到不同电脑屏幕尺寸,以及不同手机屏幕大小等问题,解决样式发生改变的情况,那么如何解决呢?现在主要是采用自适应来解决高度,宽度的,以及图片自适应问题,下面就PC端和移动端来总结...
  • 现在的笔记本为了看电影和图片时更加清晰屏幕分辨率...设为 150)但是对于有些应用程序来说 例如 PhotoshopCS5 这个缩放比例会使得程序功能区过大 图片编辑区域太小 如何设置某个特定的应用程序 (PS CS5)不让它进 行比
  • 现在的笔记本为了看电影和图片时更加清晰屏幕...设为 150)但是对于有些应用程序来说 例如 PhotoshopCS5这个缩放比例会使得程序功能区过大 图片编辑区域太小 如何设置某个特定的应用程序 (PS CS5)不让它进行比例缩放呢
  • 在前端页面布局中,图片放置时存在图片宽度、长度大小不一的情况,在不调整图片大小成一致的情况下,选择瀑布流布局是很好的解决图片能紧致放置的一种办法。瀑布流如何解决这个问题呢? 设置页面div宽度为固定宽度...
  • 在前端开发中,经常接触到一些文字图片环绕的布局,或者文字和插图左右布局的场景,正好此前在移动端开发中,碰到有一个这样的需求,左边文字是不定字数的,右边是一个插图,不管左边文字是多少,右边插图都要在这个...
  • 如果对其理解不够深入,用纯数字进行布局管理,经过不断的调试,还是能试出来的,但是如果改变了图片大小或文字长度,又要再来一遍。 作为程序猿,我们不应该放弃任何一个偷懒的机会。 默认情况下,是图片在左,...
  • 现在我们既然已经使用了ConstraintLayout,它本身就支持这样的按比例设置View大小的功能。 下面我们来介绍如何使用: 首先我们在布局中添加一个View: 此时,没有添加任何约束,显示的比例就是原始图片的比例。 ...
  • 如 何 设 置 某 个 特 定 的 应 用 程 序 不 随 Wi nd o ws 10 设 置 的 桌 面 缩 放 比 例 进...150%的比例缩放 (右击桌面 选择显示设置缩放与布局将下面的更改文本应用等项目的大小设为150)但是对 于有些应用程序来说
  • 现在我们既然已经使用了ConstraintLayout,它本身就支持这样的按比例设置View大小的功能。 下面我们来介绍如何使用: 首先我们在布局中添加一个View: 此时,没有添加任何约束,显示的比例就是原始图片的比例。 ...
  • 在Word文档中,如果一个文档插入很多张照片,而且图片大小不一,这时候如果你想让插入的图片统一大小你会怎么做?今天小编用Word 2016来教大家怎样统一让图片缩小又不会降低图片的质量的详细教程!具体操作步骤如下...
  • 在linearlayout布局中有很多的ImageView控件,然后在代码中添加帧动画,imageview指定大小时(比如layout_width=“50dp”),图片可以正常显示,但是做屏幕适配的时,将imageview的layout_width和layout_height设置...
  • 上一节中,我们给小程序添加了标题,并且快速进行了页面布局,但是,这里我们会考虑一个问题,不同的手机屏幕大小不同,而我们普通的设置效果是把元素大小固定了,这样子在不同的手机屏幕上看到的效果就会截然不同,...
  • 初次接触表格打印时,99%的用户都会遇到的表格问题,这次1分钟...首先,我们仅需点击上方菜单栏的「页面布局-纸张大小」,将纸张大小,例如我们设置为A4纸,然后再点击「页边距」,将上、下、左、右以及页眉、页脚都...
  • // 把默认的布局方式去掉 setLayout(null); JButton btnHP = new JButton("主页"); btnHP.setFont(font); btnHP.setBounds(680, 460, 80, 40); btnHP.addActionListener(new ...
  • 在前端布局过程中,因为图片会从数据库获取,宽高不一致,只有强制设置宽高值,但是容易导致图片变形。 接下来用css来解决上述问题,不过此方法不兼容ie 效果图展示:下图始终在div显示居中,不受div的大小影响 ...
  • 1、框架布局(使用DIV标签)在网页中框架布局一般使用DIV布局,无论大小DIV盒子一般均使用DIV标签(<div> )布局。 2、列表型布局(使用ul li标签)遇到图片列表、文章标题列表,通常使用ul li列表标签进行布局。...
  • react-native 之布局

    2021-01-10 04:06:31
    如果我的图片大小为100*100 px. 设置宽度为100 * 100. 那在iphone上的尺寸就是模糊的。 这个时候需要的图像大小应该是 100 * pixelRatio的大小 。 <p>react 提供了PixelRatio 的获取方式...
  • 在网页中框架布局一般使用DIV布局,无论大小DIV盒子一般均使用DIV标签( )布局。 2、列表型布局(使用ul li标签) 遇到图片列表、文章标题列表,通常使用ul li列表标签进行布局。当然使用这些标签时要进行设置...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 171
精华内容 68
关键字:

如何设置图片布局大小