android定義id
⑴ android控制項設置id什麼用
id是個標示符,當你定義了一個<Button android:id="@+id/XX"/>,後面寫程序代碼需要定義的這個Button鍵的時候就用R.id.XX調用。
⑵ android 頁面布局時定義控制項ID時@id/XX和@+id/xx 有什麼區別@id/xx具體 怎麼用 哪位大哥幫我解答下 3Q
@id/XX是引用已經有的.@+id/XX是新加一個id.@id/XX的用法如下
先聲明一個新的隨便什麼比如<TextView android:id="@+id/aa"/>
然後再聲明一個隨便什麼<Button android:id="@+id/bb" android:layout align right="@id/aa"/>
⑶ android 頁面布局時定義控制項ID時@id/XX和@+id/xx 有什麼區別
Android中的組件需要用一個int類型的值來表示,這個值也就是組件標簽中的id屬性值。id屬性只能接受資源類型的值,也就是必須以@開頭的值,例如,@id/abc、@+id/xyz等。
如果在@後面使用「+」,表示當修改完某個布局文件並保存後,系統會自動在R.java文件中生成相應的int類型變數。變數名就是「/」後面的值,例如,@+id/xyz會在R.java文件中生成int xyz = value,其中value是一個十六進制的數。如果xyz在R.java中已經存在同名的變數,就不再生成新的變數,而該組件會使用這個已存在的變數的值。
也就是說,如果使用@+id/name形式,當R.java中存在名為name變數時,則該組件會使用該變數的值作為標識。如果不存在該變數,則添加一個新的變數,並為該變數賦相應的值(不會重復)。
既然組件的id屬性是一個資源id就可以,那麼自然可以設置任何已經存在的資源id值,例如,@drawable/icon、@string/ok、@+string/you等。當然,也可以設置android系統中已存在的資源id,例如,樓主提出的@id/android:list,那麼這個android是什麼意思呢,實際上,這個android就是系統的R類(在R.java文件中)所在的package。我們可以在Java代碼編輯區輸入android.R.id.,就會列出相應的資源id,例如,也可以設置id屬性值為@id/android:message。
android:layout_height="wrap_content"/>
還有另外一種方法查看系統中定義的id,進入\platforms\android-1.5\data\res\values目錄,找到ids.xml文件,打開後,內容如下:
若在ids.xml中定義了ID,則在layout中可如下定義@id/price_edit,否則@+id/price_edit
⑷ android:id設置的三種方式區別在哪
在android應用開發過程中,對控制項android:id屬性的設置一直有些疑問,經過一番折騰,終於弄清楚了。android:id的設置,通常有三種方式,分別是以下這三種:
android:id="@+id/btn"
android:id="@android:id/tabhost"
android:id="@id/btn"
(1)android:id="@+id/btn"
表示在R.java文件裡面新增一個id為btn的控制項索引,最常用的一種聲明控制項id的方式。
代碼獲取方式:findViewById(R.id.btn);
(2) android:id="@android:id/tabhost"
表示引用的是系統已有的ID,在對應的sdk目錄下的ids.xml裡面。一般外部不去調用,是組件內部調用的時候使用。
代碼獲取方式:android.R.id.tabhost
(3)android:id="@id/btn"
表示引用一個已經存在的ID,在R.java裡面的,比如咱們自己建了一個ids.xml,裡面聲明了一組id,其中一個是btn,那麼就可以這樣引用了。
代碼獲取方式:跟(1)一樣
⑸ android:id
android:id="@+id/***":定義了布局的變數名稱為***,會自動寫進R.java,可在主程序裡面調用R.layout.***來獲取這個布局變數實體。
android:orientation="vertical":這個布局是layout進行垂直布局。水平布局的話是horizontal