android布局中使用include及需注意點

在android布局中,使用include,將另一個xml文件引入,可作為布局的一部分,但在使用include時,需注意以下問題:一、使用include引入如現有標題欄布局block_header.xml,代碼如下:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/layout_header"android:layout_width="match_parent"android:layout_height="@dimen/title_bar_h"android:layout_alignParentTop="true"android:background="@color/app_main_color"android:paddingLeft="@dimen/bar_pd_left"android:paddingRight="@dimen/bar_pd_left"android:gravity="bottom" ><ImageButtonandroid:id="@+id/btn_back"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/back"android:background="@drawable/grid_item_selector"android:layout_alignParentLeft="true"android:visibility="invisible" /><TextView android:id="@+id/label_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="@dimen/title_size"android:text="標題欄"android:textColor="@color/white"android:layout_centerHorizontal="true"android:layout_alignBottom="@id/btn_back"android:paddingBottom="@dimen/bar_pd_bottom"/><ImageButtonandroid:id="@+id/btn_setting"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/setting"android:background="@drawable/grid_item_selector"android:layout_alignParentRight="true"android:visibility="invisible" /></RelativeLayout>現在要在activity_main.xml中引入標題欄的布局,代碼如下:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity" ><includeandroid:id="@+id/bolck_titlebar"layout="@layout/block_header" /><TextViewandroid:id="@+id/text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/hello_world"android:layout_below="@id/bolck_titlebar" /></RelativeLayout>二、在加載了activity_main.xml的Activity.class中,對block_header.xml的控件的操作【普通控件的使用】對控件的操作和直接在activity_main中布局的控件的操作一致,如設置標題欄的標題文字如下:TextView tvTitle = (TextView) findViewById(R.id.label_title);tvTitle.setText(“title”);【最外層的layout的使用】但要注意的是,如果要對block_header.xml中最外層的布局layout_header進行操作,采用RelativeLayout layoutHeader = (RelativeLayout) findViewById(R.id.layout_header);獲得,獲得到的對象為null,這是由于我們為include部分設置了id屬性。如果我們沒有設置id屬性時,同樣能夠按照以上方式對其進行操作,如我們要設置背景色(沒有對include設置id的做法):RelativeLayout layoutHeader = (RelativeLayout) findViewById(R.id.layout_header);
layoutHeader.setBackgroundColor(Color.BLUE);如果我們設置了id屬性,一些網頁介紹通過如下方式獲得并對其操作(錯誤做法):View layout = getLayoutInflater().inflate(R.layout.block_header, null); 
RelativeLayout layoutHeader= (RelativeLayout)layout.findViewById(R.id.layout_header); 
layoutHeader.setBackgroundColor(Color.BLUE);但通過實驗,并不能達到我們想要的效果,雖然設置了背景色,但是在activity_main.xml中表現出來的還是沒有設置之前的樣子,不難解釋,我們通過這種方式獲得的對象只是block_header.xml中的layout,并不是我們include進activity_main.xml中的layout,當我們在activity_main.xml設置了include的id,block_header.xml的最外層布局已被映射到include上,所以只需對include的視圖進行操作,就相當于對block_header.xml最外層的布局進行操作具體如下(對include設置了id的做法):View layoutHeader = findViewById(R.id.bolck_titlebar);layoutHeader.setBackgroundColor(Color.BLUE);所以在對被include的布局的最外層布局進行操作時,需要特別注意,如方法不正確,可能會出現報空指針錯誤或者設置無效等問題。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451267.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451267.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451267.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

周鴻祎回顧IPO一周年:保持創業心態 看好無線

奇虎360董事長兼CEO周鴻祎 3月19日晚間消息&#xff0c;在奇虎360上市接近一周年之際&#xff0c;奇虎360董事長兼CEO周鴻祎與媒體及個人投資者進行溝通&#xff0c;他表示這一年壓力比以前更大&#xff0c;因為在上市光環下依然需要保持創業心態&#xff0c;同時他強調無線和…

《Effective Java》 第二講:對于所有對象都通用的方法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 上接《Effective Java》 第一講&#xff1a;創建和銷毀對象 八、覆蓋 equals 時請遵守通用約定 1. 自反性&#xff1a;對于任何非空的引…

linux刪除文件操作

linux刪除文件夾命令 在用Linux的時候&#xff0c;有時候要刪除一個文件夾&#xff0c;往往會提示次此文件非空&#xff0c;沒法刪除&#xff0c;這個時候&#xff0c;必須使用rm -rf命令。 實例一&#xff1a; rm -rf /var/log/httpd/access 將會刪除/var/log/httpd/access目錄…

Python 運算符重載

https://www.cnblogs.com/hotbaby/p/4913363.html轉載于:https://www.cnblogs.com/changbaishan/p/9668720.html

python爬取elasticsearch內容

我們以上篇的elasticsearch添加的內容為例&#xff0c;對其內容進行爬取&#xff0c;并獲得有用信息個過程。 先來看一下elasticsearch中的內容&#xff1a; {"took": 88,"timed_out": false,"_shards": {"total": 5,"successful…

創業必經之路——Paul Graham創業曲線

導讀&#xff1a;國外媒體avc.com近日發表一篇文章《The Startup Curve》&#xff0c;文中談到創業者都處于Paul Graham創業曲線中各個階段&#xff0c;不要一味的畏懼失敗&#xff0c;要多傾聽客戶反饋并從中尋找制勝的信息。總而言之&#xff0c;不畏艱難即可成功。以下為文章…

Java:對象的強、軟、弱和虛引用

見&#xff1a;http://zhangjunhd.blog.51cto.com/113473/53092 maven/Java/web/bootstrap/dataTable/app開發QQ群&#xff1a;566862629。希望更多人一起幫助我學習。 1&#xff0e;對象的強、軟、弱和虛引用在JDK 1.2以前的版本中&#xff0c;若一個對象不被任何變量引用&am…

java注解:@Deprecated(不建議使用的,廢棄的);@SuppressWarnings(忽略警告,達到抑制編譯器產生警告的目的)

java注解&#xff1a;Deprecated(不建議使用的&#xff0c;廢棄的), SuppressWarnings(忽略警告&#xff0c;達到抑制編譯器產生警告的目的)Deprecated可以修飾類、方法、變量&#xff0c;在java源碼中被Deprecated修飾的類、方法、變量等表示不建議使用的&#xff0c;可能會出…

Mysql 替換字段的一部分內容

UPDATE 表名 SET 字段名 REPLACE( 替換前的字段值, 替換前關鍵字, 替換后關鍵字 ) WHERE 字段名 REGEXP "替換前的字段值"; 例子&#xff1a; UPDATE user SET mobile REPLACE( head_img, "http://7xswdm.com1.z0.glb.clouddn.com", "http://qiniu-i…

聊聊3種最常見的響應式設計問題

響應式設計方法對開發者非常有用&#xff0c;因為它使我們的內容在各種設備上廣為傳播。不用保留幾個獨立版本的網站&#xff0c;也可以摒除諸如縮放和流式布局這些方法的弊端。 縮放、流式布局與響應式 這些術語容易造成混淆&#xff0c;設計師常常錯誤地交替互用。實際上&…

PV、TPS、QPS是什么

pv 是指頁面被瀏覽的次數&#xff0c;比如你打開一網頁&#xff0c;那么這個網站的pv就算加了一次&#xff1b;tps是每秒內的事務數&#xff0c;比如執行了dml操作&#xff0c;那么相應的tps會增加&#xff1b;qps是指每秒內查詢次數&#xff0c;比如執行了select操作&#xff…

AOP原理解析及Castle、Autofac、Unity框架使用

轉自&#xff1a;https://www.cnblogs.com/neverc/p/5241466.html AOP介紹 面向切面編程&#xff08;Aspect Oriented Programming,英文縮寫為AOP&#xff09;&#xff0c;通過預編譯方式和運行期動態代理實現程序功能的統一維護的一種技術。 AOP是OOP的延續&#xff0c;是軟件…

bootstrap validator 提供了哪些驗證函數

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 目前提供的校驗方法有&#xff1a; "notEmpty" : "不能為空", "password" : "請輸入正確的密碼&q…

帕累托分布(Pareto distributions)、馬太效應

什么是帕累托分布 帕累托分布是以意大利經濟學家維弗雷多帕雷托命名的。 是從大量真實世界的現象中發現的冪次定律分布。這個分布在經濟學以外&#xff0c;也被稱為布拉德福分布。 帕累托因對意大利20%的人口擁有80%的財產的觀察而著名&#xff0c;后來被約瑟夫朱蘭和其他人概括…

兩個class寫在同一個java文件中

第一種&#xff1a; 一個public類&#xff0c;多個非public類&#xff0c;例如&#xff1a;public class A&#xff5b;&#xff5d;class B&#xff5b;&#xff5d;第二個class前面不能加public。 第二種&#xff1a; 第二種是內部類&#xff0c;寫在公共類體里面的&#xff…

微信小程序的一些數據調用方式

1.模板數據的調用 一張圖了解一下在wxml頁調用預先定義好的模板&#xff1a; 可以看到上面調用了兩個模板&#xff0c;數據調用卻是不同的&#xff0c;obj是一個對象&#xff0c;對象內包含多個鍵值對形式的數據&#xff1b; tabbar是一個一維數組&#xff0c;每個數組項又都是…

手機廠商探路互聯網:硬件高利潤時代已成歷史

華為消費者業務集團CEO兼終端公司董事長余承東近日出席“2012年全球移動互聯網大會”期間證實&#xff0c;華為計劃與奇虎360合作推出一款智能手機。 余承東表示&#xff0c;華為終端將嘗試與多家互聯網公司就智能手機業務展開合作&#xff0c;但他未透露與奇虎360合作的更多細…

解決:按截圖 ctrl+alt+a QQ聊天窗口就自動最小化(QQ以外的可以截圖)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、問題如題 &#xff0c;想截圖QQ聊天記錄都不行 二、 解決方法&#xff1a; 如圖找到QQ截圖按鈕&#xff0c;點擊下拉倒三角&…

數據庫備份DBS商業化發布

數據庫備份DBS商業化發布將在2018年7月11日 15:00-16:00直播&#xff0c;敬請關注&#xff01; 數據庫備份DBS為數據庫提供連續數據保護、低成本的備份服務。 它可以為多種環境的數據提供強有力的保護&#xff0c;包括企業數據中心、其他云廠商及公共云。數據庫備份提供數據備份…

堡壘機(跳板機)

堡壘機&#xff08;跳板機&#xff09;&#xff1f;現在一定規模互聯網企業&#xff0c;往往都擁有大量服務器&#xff0c;如何安全并高效的管理這些服務器是每個系統運維或安全運維人員必要工作。現在比較常見的方案是搭建堡壘機環境作為線上服務器的入口&#xff0c;所有服務…