當前位置:首頁 » 安卓系統 » android屬性

android屬性

發布時間: 2022-04-04 20:05:58

Ⅰ android 系統屬性怎麼定義

對於自定義屬性,大家肯定都不陌生,遵循以下幾步,就可以實現:

自定義一個CustomView(extends View )類
編寫values/attrs.xml,在其中編寫styleable和item等標簽元素
在布局文件中CustomView使用自定義的屬性(注意namespace)
在CustomView的構造方法中通過TypedArray獲取
ps:如果你對上述幾個步驟不熟悉,建議先熟悉下,再繼續~
那麼,我有幾個問題:

以上步驟是如何奏效的?
styleable 的含義是什麼?可以不寫嘛?我自定義屬性,我聲明屬性就好了,為什麼一定要寫個styleable呢?
如果系統中已經有了語義比較明確的屬性,我可以直接使用嘛?
構造方法中的有個參數叫做AttributeSet
(eg: MyTextView(Context context, AttributeSet attrs) )這個參數看名字就知道包含的是參數的數組,那麼我能不能通過它去獲取我的自定義屬性呢?
TypedArray是什麼鬼?從哪冒出來的,就要我去使用?
恩,針對這幾個問題,大家可以考慮下,如何回答呢?還是說:老子會背上述4個步驟就夠了~~

2、常見的例子

接下來通過例子來回答上述問題,問題的回答順序不定~~大家先看一個常見的例子,即上述幾個步驟的代碼化。

Ⅱ android TextView 屬性求解

android:soundEffectsEnabled 設置點擊或觸摸時是否有聲音效果
android:textColorLink 文字鏈接的顏色.
android:shadowColor 指定文本陰影的顏色,需要與shadowRadius一起使用。

Ⅲ android里的BUTTON里的屬性問題

你這看上去很是矛盾啊。。。你把右和底去掉別寫。。你最下面那句是距離頂30dip..可是你上面的paddingTop為什麼寫成0啊。。具我實測。。這個padding 和margin 在某種意義上是一樣的效果。。

Ⅳ Android屬性:所設屬性值為何在重起後被清除

adbsehllsetProp所設屬性值在重起之後被清除。

是因為必須採用persist.開頭的屬性名才能永久保存。


如果擁有root許可權,可直接編輯/system/build.prop並加入需要永久保存的屬性。

具體操作參考原創文章:

Android屬性:所設屬性值為何在重起後被清除

地址:blog.csdn.net/cloudwu007/article/details/7850496

文章預覽:

Ⅳ android按鈕隱藏屬性

設置android:visibility="gone"

在Android開發中,大部分控制項都有visibility這個屬性,其屬性有3個分別為「visible 」、「invisible」、「gone」。主要用來設置控制控制項的顯示和隱藏。
visible :可見
invisible:不可見,但是當前view佔位(即顯示空白)
gone:不可見(隱藏,不顯示空白)

Ⅵ android 帶 的 屬性是怎麼定義的

一、在res/values文件下定義一個attrs.xml文件,代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="ToolBar">
<attr name="buttonNum" format="integer"/>
<attr name="itemBackground" format="reference|color"/>
</declare-styleable>
</resources>

二、在布局xml中如下使用該屬性:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:toolbar="http://schemas.android.com/apk/res/cn.zzm.toolbar"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<cn.zzm.toolbar.ToolBar android:id="@+id/gridview_toolbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/control_bar"
android:gravity="center"
toolbar:buttonNum="5"
toolbar:itemBackground="@drawable/control_bar_item_bg"/>
</RelativeLayout>

三、在自定義組件中,可以如下獲得xml中定義的值:

TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.ToolBar);
buttonNum = a.getInt(R.styleable.ToolBar_buttonNum, 5);
itemBg = a.getResourceId(R.styleable.ToolBar_itemBackground, -1);

a.recycle();

就這么簡單的三步,即可完成對自定義屬性的使用。

*********************************************************************

好了,基本用法已經講完了,現在來看看一些注意點和知識點吧。

首先來看看attrs.xml文件。

該文件是定義屬性名和格式的地方,需要用<declare-styleable name="ToolBar"></declare-styleable>包圍所有屬性。其中name為該屬性集的名字,主要用途是標識該屬性集。那在什麼地方會用到呢?主要是在第三步。看到沒?在獲取某屬性標識時,用到"R.styleable.ToolBar_buttonNum",很顯然,他在每個屬性前面都加了"ToolBar_"。

在來看看各種屬性都有些什麼類型吧:string , integer , dimension , reference , color , enum.

前面幾種的聲明方式都是一致的,例如:<attr name="buttonNum" format="integer"/>。
只有enum是不同的,用法舉例:

<attr name="testEnum">
<enum name="fill_parent" value="-1"/>
<enum name="wrap_content" value="-2"/>
</attr>

如果該屬性可同時傳兩種不同的屬性,則可以用「|」分割開即可。讓我們再來看看布局xml中需要注意的事項。

首先得聲明一下:xmlns:toolbar=http://schemas.android.com/apk/res/cn.zzm.toolbar
注意,「toolbar」可以換成其他的任何名字,後面的url地址必須最後一部分必須用上自定義組件的包名。自定義屬性了,在屬性名前加上「toolbar」即可。最後來看看java代碼中的注意事項。

在自定義組件的構造函數中,用

TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.ToolBar);

來獲得對屬性集的引用,然後就可以用「a」的各種方法來獲取相應的屬性值了。這里需要注意的是,如果使用的方法和獲取值的類型不對的話,則會返回默認值。因此,如果一個屬性是帶兩個及以上不用類型的屬性,需要做多次判斷,知道讀取完畢後才能判斷應該賦予何值。當然,在取完值的時候別忘了回收資源哦!

Ⅶ Android屬性系統都有哪些

  • 在Android系統里,為了讓C和JAVA語言間可進行數據傳輸,除了使用JNI機制來處理,還可以使用屬性系統來處理,這樣更方便,也更容易處理,

  • 在JAVA語言里,我們可以使用SystemProperties.get/set來處理;而在C裡面,我們可以使用property_get/set來處理,相應的例子如下:

  • 1、Java

    import android.os.SystemProperties;

    SystemProperties.set("persist.sys.language",zone.getID());

    String.get("persist.sys.language");

    其中以persist開頭的屬性會在/data/property目錄下創建相應的文件,如果以ro開頭則是只讀,不可變更該屬性值。

  • 2、C

    #include <cutils/properties.h>

    property_set("persist.sys.language","zh");

    property_get("persist.sys.language",pLang,"en");

    還需要包含libcutils庫。

  • 看到上面的屬性名了吧,相同的名字,這樣就可以在C與JAVA之間進行屬性或參數傳遞了,當然屬性名也是有長度限制的,由PROP_NAME_MAX宏指定,而屬性值也一樣有限制,由PROP_VALUE_MAX宏指定,在Android源碼里的frameworks/base/core/java/android/os/SystemProperties.java文件里可以查看到,對應的值分別是31和91。

Ⅷ Android 布局裡的屬性 android:stretchColums="*" 是什麼意思

android:stretchColums="*"是設置TableRow下的列的全部列都被拉伸,有點像為TableRow每個子項加了個許可權1,
TablelLayout並不需要明確地聲明包含多少行、多少列,而是通過TableRow,以及其他組件來控製表格的行數和列數,
TableRow也是容器,因此可以向TableRow裡面添加其他組件,每添加一個組件該表格就增加一列。

Ⅸ Android開發之layout_gravity屬性

layout_gravity 是LinearLayout 子元素的特有屬性。對於layout_gravity, 該屬性用於設置控制項相對於容器的對齊方式,可選項有:top、bottom、left、right、center_vertical、fill_vertical 、 center、fill等等。

這些可選項中不是適用於每一種布局。在垂直線性布局中,android:gravity為bottom不起作用;而水平線性布局中,android:gravity為right不起作用。

本屬性是android:layout_gravity屬性,與 android:gravity 屬同。android:gravity是LinearLayout的特有屬性。android:layout_gravity是LinearLayout 子元素的特有屬性,不要混淆了。

(9)android屬性擴展閱讀

Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用「安卓」或「安致」。Android操作系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。

2007年11月,Google與84家硬體製造商、軟體開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨後Google以Apache開源許可證的授權方式,發布了Android的源代碼。第一部Android智能手機發布於2008年10月。

Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平台手機的全球市場份額已經達到78.1%。

熱點內容
沒有被調用的函數會參與編譯嗎 發布:2025-05-15 13:42:51 瀏覽:260
在計算機中ftp的中文 發布:2025-05-15 13:41:07 瀏覽:1000
國網校招要網簽密碼和賬號干什麼 發布:2025-05-15 13:40:25 瀏覽:179
java分 發布:2025-05-15 13:34:36 瀏覽:846
如何下載卡巴斯基安卓版 發布:2025-05-15 13:34:36 瀏覽:480
排序函數c語言 發布:2025-05-15 13:06:28 瀏覽:6
韓服lol掛機腳本 發布:2025-05-15 12:42:56 瀏覽:462
監控存儲伺服器如何調試 發布:2025-05-15 12:36:30 瀏覽:219
一萬級凈化車間有哪些配置 發布:2025-05-15 12:16:41 瀏覽:98
javazip解壓加密 發布:2025-05-15 12:15:02 瀏覽:943