日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android中attrs.xml文件的使用详解

發布時間:2023/12/13 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中attrs.xml文件的使用详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

$*********************************************************************************************$


博主推薦:


風蕭兮兮易水寒,“天真”一去兮不復還。如何找到天真的那份快樂。小編傾力推薦app:?天真無諧


下載方式:豌豆莢,應用寶,360手機助手,百度手機助手,安卓,91市場搜索:天真無諧


關注我們:查看詳情


$*********************************************************************************************$


Android中在values中定義一個attrs.xml,然后自己定義一個組件MyView

attrs.xml內容如下:

<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="MyView"> <attr name="textColor" format="color" /> <attr name="textSize" format="dimension" /> </declare-styleable> </resources>

定義的組件MyView:

package com.jiangwei.demo;import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Style; import android.graphics.Rect; import android.util.AttributeSet; import android.view.View;public class MyView extends View { private Paint mPaint; private static final String mString = "Welcome to Mr Wei's blog"; public MyView(Context context) { super(context); mPaint = new Paint(); }public MyView(Context context, AttributeSet attrs) { super(context, attrs); mPaint = new Paint(); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyView); int textColor = a.getColor(R.styleable.MyView_textColor, 0XFFFFFFFF); float textSize = a.getDimension(R.styleable.MyView_textSize, 36); mPaint.setTextSize(textSize); mPaint.setColor(textColor); a.recycle(); }@Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); // 設置填充 mPaint.setStyle(Style.FILL); // 畫一個矩形,前倆個是矩形左上角坐標,后面倆個是右下角坐標 canvas.drawRect(new Rect(10, 10, 100, 100), mPaint); mPaint.setColor(Color.BLUE); // 繪制文字 canvas.drawText(mString, 10, 110, mPaint); } }

main.xml內容:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:test="http://schemas.android.com/apk/res/com.jiangwei.demo"//一定記得添加前綴android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><com.jiangwei.demo.MyView android:layout_width="fill_parent" android:layout_height="fill_parent" test:textSize="20px"//test是個前綴test:textColor="#ffffff"/> </LinearLayout>


具體內容:

格式如上,其中“xmlns:wen”冒號后面是標簽名,在下面使用時(只對當前文件可用)
<TextView ?wen:屬性名/>
“com.iteye.googlers”是你的工程包名。
1. reference:參考某一資源ID。
? ? (1)屬性定義:
? ? ? ? ? ??

<declare-styleable name = "名稱"><attr name = "background" format = "reference" /> </declare-styleable>
? ? (2)屬性使用:
? ? ? ? ? ??<ImageViewandroid:layout_width = "42dip"android:layout_height = "42dip"android:background = "@drawable/圖片ID"/>


2. color:顏色值。
? ? (1)屬性定義:
? ? ? ? ? ??

<declare-styleable name = "名稱"><attr name = "textColor" format = "color" /></declare-styleable>
? ? (2)屬性使用:
? ? ? ? ? ? <TextViewandroid:layout_width = "42dip"android:layout_height = "42dip"android:textColor = "#00FF00"/>
?3. boolean:布爾值。
? ? (1)屬性定義:
? ? ? ? ? ??<declare-styleable name = "名稱"><attr name = "focusable" format = "boolean" /> </declare-styleable>
? ? (2)屬性使用:
? ? ? ? ? ??<Buttonandroid:layout_width = "42dip"android:layout_height = "42dip"android:focusable = "true"/>
4. dimension:尺寸值。
? ? ?(1)屬性定義:
? ? ? ? ? ? ?<declare-styleable name = "名稱"><attr name = "layout_width" format = "dimension" /> </declare-styleable>
? ? (2)屬性使用:
? ? ? ? ? ??<Buttonandroid:layout_width = "42dip"android:layout_height = "42dip"/>
?5. float:浮點值。
? ? (1)屬性定義:
? ? ? ? ? ??<declare-styleable name = "AlphaAnimation"><attr name = "fromAlpha" format = "float" /><attr name = "toAlpha" format = "float" /> </declare-styleable>
? ? (2)屬性使用:
? ? ? ? ? ??<alphaandroid:fromAlpha = "1.0"android:toAlpha = "0.7" />?
6. integer:整型值。
? ? (1)屬性定義:
? ? ? ? ? ??<declare-styleable name = "AnimatedRotateDrawable"><attr name = "visible" /><attr name = "frameDuration" format="integer" /><attr name = "framesCount" format="integer" /><attr name = "pivotX" /><attr name = "pivotY" /><attr name = "drawable" /> </declare-styleable>
? ? (2)屬性使用:
? ? ? ? ? ??<animated-rotatexmlns:android = "http://schemas.android.com/apk/res/android" android:drawable = "@drawable/圖片ID" android:pivotX = "50%" android:pivotY = "50%" android:framesCount = "12" android:frameDuration = "100"/>?
7. string:字符串。
? ? (1)屬性定義:
? ? ? ? ? ??<declare-styleable name = "MapView"><attr name = "apiKey" format = "string" /> </declare-styleable>
? ? (2)屬性使用:
? ? ? ? ? ??<com.google.android.maps.MapViewandroid:layout_width = "fill_parent"android:layout_height = "fill_parent"android:apiKey = "0jOkQ80oD1JL9C6HAja99uGXCRiS2CGjKO_bc_g"/>
8. fraction:百分數。
? ? ?(1)屬性定義:
? ? ? ? ? ??<declare-styleable name="RotateDrawable"><attr name = "visible" /><attr name = "fromDegrees" format = "float" /><attr name = "toDegrees" format = "float" /><attr name = "pivotX" format = "fraction" /><attr name = "pivotY" format = "fraction" /><attr name = "drawable" /> </declare-styleable>
? ? (2)屬性使用:
? ? ? ? ? ??<rotatexmlns:android = "http://schemas.android.com/apk/res/android" android:interpolator = "@anim/動畫ID"android:fromDegrees = "0" android:toDegrees = "360"android:pivotX = "200%"android:pivotY = "300%" android:duration = "5000"android:repeatMode = "restart"android:repeatCount = "infinite"/>
9. enum:枚舉值。
? ? (1)屬性定義:
? ? ? ? ? ??<declare-styleable name="名稱"><attr name="orientation"><enum name="horizontal" value="0" /><enum name="vertical" value="1" /></attr> </declare-styleable>
? ? (2)屬性使用:

<LinearLayoutxmlns:android = "http://schemas.android.com/apk/res/android"android:orientation = "vertical"android:layout_width = "fill_parent"android:layout_height = "fill_parent"> </LinearLayout>
10. flag:位或運算。
? ? ?(1)屬性定義:

<declare-styleable name="名稱"><attr name="windowSoftInputMode"><flag name = "stateUnspecified" value = "0" /><flag name = "stateUnchanged" value = "1" /><flag name = "stateHidden" value = "2" /><flag name = "stateAlwaysHidden" value = "3" /><flag name = "stateVisible" value = "4" /><flag name = "stateAlwaysVisible" value = "5" /><flag name = "adjustUnspecified" value = "0x00" /><flag name = "adjustResize" value = "0x10" /><flag name = "adjustPan" value = "0x20" /><flag name = "adjustNothing" value = "0x30" /></attr> </declare-styleable>
? ? ?(2)屬性使用:
? ? ? ? ? ??<activityandroid:name = ".StyleAndThemeActivity"android:label = "@string/app_name"android:windowSoftInputMode = "stateUnspecified | stateUnchanged | stateHidden"><intent-filter><action android:name = "android.intent.action.MAIN" /><category android:name = "android.intent.category.LAUNCHER" /></intent-filter> </activity>

? ? ?注意:
? ? ?屬性定義時可以指定多種類型值。
? ? (1)屬性定義:
? ? ? ? ? ??<declare-styleable name = "名稱"><attr name = "background" format = "reference|color" /> </declare-styleable>
? ? (2)屬性使用:
? ? ? ? ? ? ?<ImageViewandroid:layout_width = "42dip"android:layout_height = "42dip"android:background = "@drawable/圖片ID|#00FF00"/>

轉載于:https://www.cnblogs.com/roccheung/p/5797446.html

總結

以上是生活随笔為你收集整理的Android中attrs.xml文件的使用详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。