zoukankan      html  css  js  c++  java
  • Drawable学习之-----ScaleDrawable

    对另一个drawable资源,基于当前的level,进行尺寸变换的drawable。

    文件位置:
    res/drawable/filename.xml
    文件名即资源名
    编译数据类型:
    指向 ScaleDrawable的指针。
    资源引用:
    In Java: R.drawable.filename
    In XML: @[package:]drawable/filename
    语法:
    <?xml version="1.0" encoding="utf-8"?>
    <scale
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:drawable="@drawable/drawable_resource"
        android:scaleGravity=["top" | "bottom" | "left" | "right" | "center_vertical" |
                              "fill_vertical" | "center_horizontal" | "fill_horizontal" |
                              "center" | "fill" | "clip_vertical" | "clip_horizontal"]
        android:scaleHeight="percentage"
        android:scaleWidth="percentage" />
    元素:
    <scale>
    定义一个ScaleDrawable,必须作为根元素。

    属性:

    xmlns:android
    String类型。 必须的。定义XML文件的命名空间。必须是 "http://schemas.android.com/apk/res/android".
    android:drawable
    Drawable 资源。必须的。引用一个drawable资源。
    android:scaleGravity
    关键字。指定缩放后的gravity的位置。

    必须是下面的一个或多个值(多个值之间用”|“分隔),下面的值和描述和上一篇的ClipDrawable一样。

    描述
    top Put the object at the top of its container, not changing its size.
    bottom Put the object at the bottom of its container, not changing its size.
    left Put the object at the left edge of its container, not changing its size. This is thedefault.
    right Put the object at the right edge of its container, not changing its size.
    center_vertical Place object in the vertical center of its container, not changing its size.
    fill_vertical Grow the vertical size of the object if needed so it completely fills its container.
    center_horizontal Place object in the horizontal center of its container, not changing its size.
    fill_horizontal Grow the horizontal size of the object if needed so it completely fills its container.
    center Place the object in the center of its container in both the vertical and horizontal axis, notchanging its size.
    fill Grow the horizontal and vertical size of the object if needed so it completely fills itscontainer.
    clip_vertical Additional option that can be set to have the top and/or bottom edges of the child clipped toits container's bounds. The clip is based on the vertical gravity: a top gravity clips thebottom edge, a bottom gravity clips the top edge, and neither clips both edges.
    clip_horizontal Additional option that can be set to have the left and/or right edges of the child clipped toits container's bounds. The clip is based on the horizontal gravity: a left gravity clipsthe right edge, a right gravity clips the left edge, and neither clips both edges.
    android:scaleHeight
    Percentage(百分比)缩放的高度,以百分比的方式表示drawable的缩放。形式例如:100%,12.5%。
    android:scaleWidth
    Percentage(百分比)缩放的宽度,以百分比的方式表示drawable的缩放。形式例如:100%,12.5%。
    示例:
    <?xml version="1.0" encoding="utf-8"?>
    <scale xmlns:android="http://schemas.android.com/apk/res/android"
        android:drawable="@drawable/logo"
        android:scaleGravity="center_vertical|center_horizontal"
        android:scaleHeight="80%" //表示从高度80% 开始缩放,80%为图片高度最小值。level 0不可见。
        android:scaleWidth="80%"/> //表示从宽度80% 开始缩放,80%为图片宽度最小值。level 0不可见。
    参考:


    示例:

    在scale.xml中:

    [java] view plain copy
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <scale xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     android:scaleWidth="50%"  
    4.     android:scaleHeight="50%"  
    5.     android:drawable="@drawable/image1"   
    6.     android:scaleGravity="center_vertical|center_horizontal"  
    7.     >  
    8. </scale>  

    在layout中使用:

    [java] view plain copy
    1. <ImageView   
    2.     android:id="@+id/imgView"  
    3.     android:src="@drawable/scale"  
    4.     android:layout_width="wrap_content"  
    5.     android:layout_height="wrap_content"/>  
  • 相关阅读:
    UCloud-201809-001:Redis服务未授权访问漏洞安全预警
    php框架tp3.2.3和js写的微信分享功能心得,分享的标题内容图片自定义
    一键分享到QQ空间、QQ好友、新浪微博、微信代码
    ArcGIS10.x Engine直连提示连接超时ORA-12170 来自:http://www.iarcgis.com/?p=1004
    ArcGIS Engine三维动画开发 来自:http://www.iarcgis.com/?p=826
    ArcGIS Engine断开其他ArcSDE用户连接的解决方案
    ARCGIS 10.0破解版安装过程error 1606 和error 1316问题 及安装流程
    教你如何查看CAD文件是哪个版本的来自http://blog.sina.com.cn/s/blog_4c9fa4dd0101il1v.html
    C# DataGridView,右键单击RowHeader时显示右键菜单怎么做?
    C#控制定位Word光标移动到任意行或者最后一行,取得光标位置等操作
  • 原文地址:https://www.cnblogs.com/vegetate/p/9997206.html
Copyright © 2011-2022 走看看