精华内容
下载资源
问答
  • TypedArray

    2016-12-19 17:58:24
    有时候android传统的页面布局不足以满足我们的需求,常常需要自己定义view,通常继承View,然后重写构造方法以及onDraw等函数,再具体实现自己定义的复杂view。 我们知道在给控件赋属性时,通常使用的是android系统...
      有时候android传统的页面布局不足以满足我们的需求,常常需要自己定义view,通常继承View,然后重写构造方法以及onDraw等函数,再具体实现自己定义的复杂view。
    我们知道在给控件赋属性时,通常使用的是android系统自带的属性,比如 android:layout_height="wrap_content",除此之外,我们亦可以自己定义属性

    步骤大致如下:
    1》在项目文件res/value下面创建一个attr.xml文件,该文件中包含若干个attr集合,例如:
    [html]
    <?xml version="1.0" encoding="utf-8"?>  
    <resources>  
        <declare-styleable name="MyView">  
            <attr name="myTextSize" format="dimension"/>  
            <attr name="myColor" format="color"/>  
        </declare-styleable>  
    </resources>  

     其中resource是跟标签,可以在里面定义若干个declare-styleable,<declare-styleable name="MyView">中name定义了变量的名称,下面可以再自定义多个属性,针对<attr name="myTextSize" format="dimension"/>来说,其属性的名称为"myTextSize",format指定了该属性类型为dimension,只能表示字体的大小。
    format还可以指定其他的类型比如;
    reference   表示引用,参考某一资源ID
    string   表示字符串
    color   表示颜色值
    dimension   表示尺寸值
    boolean   表示布尔值
    integer   表示整型值
    float   表示浮点值
    fraction   表示百分数
    enum   表示枚举值
    flag   表示位运算


    2》在使用到该自定义view的布局文件中键入如下的一行:
    <com.zhiyuan3g.attrtextdemo.MyView  
            android:layout_height="wrap_content"  
            android:layout_width="wrap_content"  
            myapp:myTextSize="20sp"  
            myapp:myColor="#324243"/>  

    3》在自定义view的代码中引入自定义属性,修改构造函数
    context通过调用obtainStyledAttributes方法来获取一个TypeArray,然后由该TypeArray来对属性进行设置
    obtainStyledAttributes方法有三个,我们最常用的是有一个参数的obtainStyledAttributes(int[] attrs),其参数直接styleable中获得
    TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.MyView);
    调用结束后务必调用recycle()方法,否则这次的设定会对下次的使用造成影响  

    import android.content.Context;  
    import android.content.res.TypedArray;  
    import android.graphics.Canvas;  
    import android.graphics.Paint;  
    import android.graphics.Paint.Style;  
    import android.util.AttributeSet;  
    import android.view.View;  
      
    public class MyView extends View{  
        public Paint paint;  
      
        public MyView(Context context, AttributeSet attrs) {  
            super(context, attrs);  
            paint = new Paint();  
              
            TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.MyView);      
            int textColor = a.getColor(R.styleable.MyView_myColor, 003344);  
            float textSize = a.getDimension(R.styleable.MyView_myTextSize, 33);  
            paint.setTextSize(textSize);  
            paint.setColor(textColor);  
            a.recycle();  
        }  
      
        public MyView(Context context) {  
            super(context);  
            // TODO Auto-generated constructor stub  
        }  
          
        @Override
        protected void onDraw(Canvas canvas) {  
            // TODO Auto-generated method stub  
            super.onDraw(canvas);     
            paint.setStyle(Style.FILL);  
            canvas.drawText("aaaaaaa", 10, 50, paint);  
        }        
    }  
    展开全文
  • javascript TypedArray

    2020-02-13 21:17:38
    TypedArray描述了ArrayBuffer 构造 new TypedArray(); // new in ES2017 new TypedArray(length); new TypedArray(typedArray); new TypedArray(object); new TypedArray(buffer [, byteOffset [, length]]); // ...

    TypedArray描述了ArrayBuffer

    构造

    new TypedArray(); // new in ES2017
    new TypedArray(length);
    new TypedArray(typedArray);
    new TypedArray(object);
    new TypedArray(buffer [, byteOffset [, length]]);
    
    // where TypedArray is one of:
    
    Int8Array();
    Uint8Array();
    Uint8ClampedArray();
    Int16Array();
    Uint16Array();
    Int32Array();
    Uint32Array();
    Float32Array();
    Float64Array();
    BigInt64Array();
    BigUint64Array();
    
    Type Value Range Size in bytes Description Web IDL type Equivalent C type
    Int8Array -128 to 127 1 8-bit two’s complement signed integer byte int8_t
    Uint8Array 0 to 255 1 8-bit unsigned integer octet uint8_t
    Uint8ClampedArray 0 to 255 1 8-bit unsigned integer (clamped) octet uint8_t
    Int16Array -32768 to 32767 2 16-bit two’s complement signed integer short int16_t
    Uint16Array 0 to 65535 2 16-bit unsigned integer unsigned short uint16_t
    Int32Array -2147483648 to 2147483647 4 32-bit two’s complement signed integer long i nt32_t
    Uint32Array 0 to 4294967295 4 32-bit unsigned integer unsigned long uint32_t
    Float32Array 1.2×10-38 to 3.4×1038 4 32-bit IEEE floating point number (7 significant digits e.g., 1.1234567) unrestricted float float
    Float64Array 5.0×10-324 to 1.8×10308 8 64-bit IEEE floating point number (16 significant digits e.g., 1.123…15) unrestricted double double
    BigInt64Array -263 to 263-1 8 64-bit two’s complement signed integer bigint int64_t (signed long long)
    BigUint64Array 0 to 264-1 8 64-bit unsigned integer bigint uint64_t (unsigned long long)

    1.int8Array,int16Array都是通过对ArrayBuffer来进行读写的
    2.int8Array是将ArrayBuffer中的一个字节当成一个元素,Int16Array则是将ArrayBuffer中的两个字节当成一个元素.
    例如:
    1)ArrayBuffer中有8个字节,分别为01 02 03 04 05 06 07 08
    2)分别根据这个ArrayBuffer创建Uint8,Uint16,和Unit32

    var u8 = new Uint8Array(buffer); // length为8  
    var u16 = new Uint16Array(buffer); // length为4 
    var u32 = new Uint32Array(buffer); // length为2  
    

    3)结果为

    [1, 2, 3, 4, 5, 6, 7, 8] //u8
    [513, 1027, 1541, 2055] //u16
    [67305985, 134678021] //u32
    

    https://www.jb51.net/article/147112.htm
    https://developer.51cto.com/art/201704/536718.htm

    参考:
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#Syntax

    展开全文
  • TypedArray issues

    2020-12-27 22:18:18
    <ol><li>https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill contains:  4. Let value be ? ToNumber(value). </li></ol> <p>I would assume that this shouldn't throw for Big{Int,Uint}64...
  • TypedArray详解

    千次阅读 2016-06-23 16:19:06
    我们如果想获取android的资源文件,可以使用context.getresource.getXXX得到,也可以通过TypedArray得到

    我们如果想获取android的资源文件,可以使用context.getresource.getXXX得到,也可以通过TypedArray得到,对于我来说TypedArray还是比较陌生,最近一直使用RecyclerView做东西,其中分割线ItemDecoration可以使用TypedArray来获取本地的Drawable文件,所以对他产生了情趣,鉴于网上没有详细的TypedArray的译文,今天打算把TypedArray通过自己的理解翻译一下,仅供参考,不喜勿喷啊 ~~

    先po上地址:如果没翻墙:http://www.android-doc.com/reference/android/content/res/TypedArray.html

    如果翻墙了:https://developer.android.com/reference/android/content/res/TypedArray.html

    路径其实只是host地址变了下而已。


    不难看出,TypedArray在api1的时候就已经定义好了。

    TypedArray是存储资源数组的容器,他可以通过obtaiStyledAttributes()方法创建出来。不过创建完后,如果不在使用了,请注意调用recycle()方法把它释放。

    他可以通过检索res资源中结构的特定值的索引的到对应的资源。所以换句话说,通过他能够得到我们想要的资源。

    官方api还列出了TypedArray的公共方法:


    这些方法大致的意思是通过    “资源索引“(index)可以得到相应的资源,其中有参数的方法第一参数大体来说都是资源对应的索引,如果有的方法有两个参数,那么

    第二个参数就是返回的默认值。


    好了,现在我们看得到TypeArray的第一个方法:

    调用obtainStyledAttributes方法,会返回一个TypedArray,持有属性排序的属性值。

    如果传入的第一个参数AttributeSet指定的是一个样式,那么这个样式将会被应用到 定义好的基本属性的顶部。


    确保在使用完TypedArray后,用TypedArray.recycle()方法释放。


    再来看看这个方法的参数



     在决定指定属性值的时候,有四个输入项会参与决定。

    这四个项分别是 

    1.提供的属性集

    2.属性集中声明的样式(style)

    3.通过defStyleAttr和defStyleRes指定的属性

    4.在主题中的属性值

    任何一项输入项都是被认为有序的,并且第一项,也就是属性集拥有决定权,换句话说,如果在属性集(AttributSet)中你指定的button的字体颜色是黑色,那么不管其他样式风格怎么设定,都不会改变他的属性。


    剩下的就是参数了 。


    为了方便,还提供了三种方式:





    来获取TypedArray。


    待更新TypedArray的具体用法,有时间了再上。

    展开全文
  • Implement TypedArray objects

    2020-12-07 11:18:09
    It would be very nice to get <code>TypedArray</code> objects. They are making us fail / ignore many tests in our ECMAScript conformance suite, and they shouldn't be super difficult to implement ...
  • TypedArray的使用

    2020-03-02 22:15:12
    TypedArray:在自定义布局文件时 TypedArray:存储资源数组的容器; 1.TypedArray _TypedArray = mContext.getTheme().obtainStyledAttributes(attrs, R.styleable.MyFirstCustomerView, 0, 0); try { mText = _...

    TypedArray:在自定义布局文件时

    TypedArray:存储资源数组的容器;

    1.这一种也是我个人借阅他人;它是通过上下文获取布局文件与attrs属性;然后getxxx()获取绑定到对应的控件;

    TypedArray _TypedArray = mContext.getTheme().obtainStyledAttributes(attrs, R.styleable.MyFirstCustomerView, 0, 0);

    try {

    mText = _TypedArray.getString(R.styleable.MyFirstCustomerView_text);

    mTextColor = _TypedArray.getColor(R.styleable.MyFirstCustomerView_textColor, Color.BLACK);

    mTextSize = _TypedArray.getDimensionPixelSize(R.styleable.MyFirstCustomerView_textSize, (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 16, getResources().getDisplayMetrics()));

    }

    finally {

    TypedArray _TypedArray.recycle();

    }

    2.可以通过obtaiStyledAttributes()方法创建出来;如果不在使用了,请注意调用recycle()方法将它释放;

    TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.inputView);
    inputIcon = typedArray.getResourceId(R.styleable.inputView_input_icon,R.drawable.myacc);
    inputHint = typedArray.getNonResourceString(R.styleable.inputView_input_hint);
    isPassword = typedArray.getBoolean(R.styleable.inputView_is_password,false);

    getResourceId(调用该布局文件与attrs里面存放的属性匹配存储)布局文件没有设置该对应的属性时候,会按照第二个默认值或已有的值属性;

     

    展开全文
  • TypedArray 使用

    千次阅读 2015-11-26 13:57:34
    1、创建TypedArray对象 使用场景一(view的构造方法中) TypedArray a = context.obtainStyledAttributes 使用场景二 (view方法之外) TypedArray a = view.getContext().obtainStyledAttributes 2、...
  • es6 TypedArray视图

    2018-02-07 22:12:10
    TypedArray视图ES6 ArrayBuffer对象作为内存区域,可以存放多种类型的数据。同一段内存,不同数据有不同的解读方式,这就叫做“视图”(view)。ArrayBuffer有两种视图,一种是 TypedArray视图,另一种是DataView...
  • 在上一篇中Android 自定义View Canvas —— Bitmap写到了TypedArray 这个属性 下面也简单的说一下TypedArray的使用 TypedArray 的作用: 用于从该结构检索值的索引对应于给定给获取StyledAttributes的属性的位置...
  • android TypedArray

    2016-03-05 14:18:26
    位置:frameworks/base/core/java/android/content/res/TypedArray.java  Container for an array of values that were retrieved with  {@link Resources.Theme#obtainStyledAttributes(AttributeSet, int[], ...
  • - %TypedArray%([typedarray]) </code></pre> <p>For %TypedArray% the constructors are: Uint8Array, Uint16Array, Uint32Array, Int8Array, Int16Array, Int32Array, Float32Array, Float64Array and Uint8...
  • Android TypedArray类 详解

    2020-12-08 13:28:02
    Android TypedArray类 详解TypedArray类介绍TypedArray类的方法 TypedArray类介绍 obtainStyledAttributes(AttributeSet, int[], int, int)或obtainAttributes(AttributeSet, int[])检索的值数组。一定要在使用完...
  • <pre><code>TypedArray::update</code></pre> <p>is used to be replace </p><pre><code>update_array_buffer_view</code></pre> <p>This change is ...
  • <div><p>Some of the newer TypedArray methods (like <code>slice</code> and <code>fill) aren't implemented in all browsers. We should add a polyfill for these.</p><p>该提问来源于开源项目:...
  • <div><p>Adds support for all TypedArray types except for the Uint8ClampedArray. Tests have been updated. <p>Tested with <pre><code> cargo web test --nodejs --target-webasm-emscripten </code></pre>该...
  • <div><p>This patch allows developers to set a typedarray given a source typedarray. This patch attempts to follow section 22.2.3.22.2 in the ECMAScript spec as closely as possible. <p>JerryScript-DCO-...
  • android-TypedArray

    千次阅读 2016-07-01 09:05:43
    TypedArray public class TypedArray  extends Object  java.lang.Object  ↳ android.content.res.TypedArray Container for an array of values that were retrieved ...
  • <div><p>Add support for TypedArray values as specified in: - https://www.khronos.org/registry/typedarray/specs/latest/</p> <p>ES6 typed arrays are more detailed (not needed initially): - ...
  • TypedValue 和 TypedArray

    千次阅读 2017-04-05 23:09:09
    获取自定义属性值常会使用TypedValue 和 TypedArray 类 TypedValue applyDimension ( return float ) complexToDimension (return float) TypedArray getDimension (return float) 如下是自定义View中...
  • API-TypedArray

    2017-05-15 11:18:59
    TypedArray | Android Developers https://developer.android.google.cn/reference/android/content/res/TypedArray.html简介:Container for an array of values that were retrieved with obtainStyledAttributes...
  • * ecma_typedarray_get_buffer (ecma_object_t <em>typedarray_p); * ecma_typedarray_get_length (ecma_object_t </em>typedarray_p); * ecma_typedarray_get_element_size_shift (ecma_object_t *typedarray_p)...
  • 主要为大家介绍了android自定义控件属性TypedArray以及attrs,感兴趣的小伙伴们可以参考一下
  • Javascript中的数组是个强大的家伙: 你可以创建的时候不规定长度,而是动态的去改变长度。你可以把他当成普通的数组去读取,也可以当他是堆栈来使用。...TypedArray是一种通用的固定长度缓冲区类型,
  • <p>Since arraybuffer and typedarray will not exist separately, I plan to change ~~<code>CONFIG_DISABLE_ES2015_TYPEDARRAY_BUILTIN</code> to <code>CONFIG_DISABLE_ES2015_ARRAYBUFFER_BUILTIN</code>.~~ ...
  • 关于TypedArray 的使用

    2017-10-19 14:51:14
    TypedArray的使用。
  • <div><p>The numbers were taken from MDN -- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#Browser_compatibility</p> <p>Fixes ...
  • <div><p>Hi, I'...t work if only typedarray.js is included. <p>How may I get typedarray.js to run standalone? <p>Thanks!</p><p>该提问来源于开源项目:inexorabletash/polyfill</p></div>
  • Is a TypedArray a sequence?

    2020-12-09 14:27:37
    <p>If a <code>TypedArray</code> is already a sequence it should not be necessary to wrap the <code>TypedArray</code> in array literal in <code>Blob</code> constructor to avoid the <code>TypedArray...
  • 一.TypedArray类型 TypedArray是漏洞中常见到的结构,手册用法有四 1.new TypedArray(length); //byteLength=length * sizeof(TypeName); length 当传入length参数时,一个内部数组缓冲区被创建,该缓存区的大小是传入...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,609
精华内容 1,043
关键字:

typedarray