利用Android Studio產生出第一個程式後,點擊Project按鈕觀察專案的目錄結構,再研究資源檔的使用方法,同時在第一個程式畫面裡增加另一個文字元件。

Android Studio的專案目錄結構

目錄結構

說明

(點擊放大)

build是編譯後檔案存放的資料夾

src\main存放開發時期的所有檔案,包含Java原始檔相關的資訊設定檔等

src\main\java: Java原始碼

src\main\res: 各式的資源檔;drawable-xxx放置各個解析度圖檔,layout存放使用者介面,values存放XML使用到的外部參考資源設定

src\main\AndroidManifest.xml: 這個重要的檔案記錄了應用程式的細節定義,如程式的圖示、標題與具備那些Activity等設定(Manifest是清單的意思)

外部資源設定

為了讓Android應用程式比較簡單的達到多語系與容易維護的目標,應用程式裡使用到的各式字串都是以外部參考的方法定義在values資料夾內的xml檔裡。

例如預設程式的應用程式設定檔AndroidManifest.xml也使用了外部參考,以下以 @ 開頭的字串就是外部參考,實際的值分別存放在res\values\strings.xml與styles.xml:

package="tw.jdev.myapplication"

android:versionCode="1"

android:versionName="1.0" >

android:minSdkVersion="7"

android:targetSdkVersion="16" />

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

android:name="tw.jdev.myapplication.MainActivity"

android:label="@string/app_name" >

使用者介面設定檔activity_main.xml也使用到了dimens.xml與strings.xml:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

android:paddingBottom="@dimen/activity_vertical_margin"

tools:context=".MainActivity">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/hello_world" />

在Android Studio編輯區的@string/hello_world裡按〔Ctrl〕+〔左鈕〕會自動將參考資源設定開啟在新分頁裡,這樣可以省卻在目錄裡尋找檔案的時間。@string/hello_world是定義在strings.xml(@string/hello_world對應到strings.xml的hello_world項目)裡:

My Application

Settings

Hello world!

我們試著變更strings.xml的值來看看會發生什麼變化:

我的第一個Android應用程式

設定

大家好!

如果你有開啟右側的Preview視窗的話,馬上就能看到程式標題和內文都變成中文了。

UI設計器操作

把編輯區切換到設計畫面,點選Palette(調色盤)裡的Plain TextView小工具,當游標學多進手機空白處時會出現虛線框,表示要放置元件的元件,放置時會自動對齊靠近的其他元件(綠色箭頭表示對齊),移動到想要放置的位置後按一下左鈕,該位置會顯示New Text元件。

▼剛放好的元件或再點選元件一次,其四周會出現藍色小方塊讓我們拖拉元件的大小。另外,在Android Studio的編輯區或設計器裡若看到燈泡圖示的話,表示此處有系統提示可以查看,另一個查看提示的方法是按〔Alt〕+〔Enter〕。這裡的提示是告訴我們最好用外部資源檔來存文字。

▼雙擊元件後會彈出字串設定對話窗,輸入好文字後按〔Enter〕,如此輸入的文字會直接被儲存到activity_main.xml裡,如果要使用外部資源的方式的話必須按輸入欄位後方的〔…〕,再於Resources對話窗點擊左下角的【New Resource】→【New String Value…】。

▼接著在New String Value Recource對話窗輸入需要的資源名稱、字串值與存放的XML檔名後按〔OK〕。

▼以上步驟新增一個TextView元件到畫面裡,但在設計器或Preview視窗卻無法正確的看到新加的文字,而是出現錯誤訊息「Rendering Problem Coludn’t resolve resource @string/text2」;這是目前版本的Bug,重新啟動Android Studio才會正常 2013/10/04更新0.2.0.11版本後此問題不再發生:

drawable圖檔資源

外部資源裡比較特別的是圖檔目錄,在AndroidManifest.xml裡設定應用程式圖示的寫法是android:icon="@drawable/ic_launcher",對應到 res/資料夾卻找不到drawable或drawables資料夾,反而是 drawable-hdpi、drawable-mdpi、drawable-xhdpi與drawable-xxhdpi,減號後的hdpi、mdpi、xhdpi、xxhdpi是不同的解析度,分別對應為 high-DPI(Dots per inch,每吋畫素點數)、medium-DPI、extra high-DPI與extra extra high-DPI(解析度參考:http://developer.android.com/guide/practices/screens_support.html#range),在每個drawable資料夾裡都有個不同大小的ic_launcher.png圖檔,用來在不同解析度的設備顯示不同的圖片(ic是icon之意)。

AndroidManifest.xml的android:icon設定要注意的是只設圖檔的主檔名而不寫副檔名,系統自動會依設備解析度使用對應主檔名的.png、.jpg或.gif檔。

dimens維度資源

維度(Dimensions)也是經常使用的XML設定資源,例如在activity_main.xml裡就有android:paddingLeft="@dimen/activity_horizontal_margin"設定,其值定義在res/values/dimens.xml裡:

16dp

16dp

dp(或dip):Density-independent Pixels,density意同DPI,基於硬體計算出的抽象尺寸單元,會依不同的解析度自動換算

sp:Scale-independent Pixels,與dp相同但會參考使用的字型大小換算

pt:點數,硬體螢幕大小的1/72英吋

px:Pixels,畫素

mm:公釐

in:英吋

##

您可能也會有興趣的類似文章

標籤: Android, Android-studio

android dimensions.xml,[Android Studio #2] 操作資源XML檔相关推荐

  1. android ctrl 左键鼠标左键直接打开xml文件夹,设置Android Studio通过Ctrl+左键查看源码...

    开始学习android的时候希望能点进系统提供的控件中查看源码,但是实际操作发现,看到的每个源文件方法都是抛出的Exception,所以想要设置成可以直接查看具体实现,记录下我自己的操作方法. 1.首 ...

  2. xml 和android脚本之家,Android利用Document实现xml读取和写入操作

    本文实例为大家分享了利用Document实现xml读取和写入操作,供大家参考,具体内容如下 首先先来介绍一下什么xml?xml是可扩展标记语言,他可以用来标记数据,定义数据类型.是一种允许用户对自己标 ...

  3. android修改用户名和密码错误,Android应用开发Android Studio 修改用户名、密码、URL等操作教程...

    本文将带你了解Android应用开发Android Studio 修改用户名.密码.URL等操作教程,希望本文对大家学Android有所帮助. 修改用户名.密码: 在AndroidStudio的ter ...

  4. android交互xml代码,Unity 与Android的交互(Android studio)

    主要介绍在Unity里调用Android原生代码,即用Androidstudio导出 aar 文件,在Unity里使用.源码在文末给出. 我使用的环境:AndroidStudio2.2 + Unity ...

  5. Android之自定义view引用xml,Android自定义View在XML中映射错误

    Android开发中我们经常会遇到自定义View地址映射错误的情况,现将遇到的情况做下总结: //Android Studio的异常信息 Error inflating class 1.直接像下面这样 ...

  6. webview和android做壳,Android Studio 制作一个 WebView 外壳

    背景 做为一条BS狗,开发应用当然趋向于BS,为了方便维护,降低开发成本,决定只做一个webview做为程序入口,所有的功能页面集中在服务端. 本次踩坑遇到了 js不支持.点击返回直接退出应用.htt ...

  7. 日历 android 周历,Android Studio 基础 之 获取系统Calendar 日历日程 (涉及指定日期时间判断是星期几的方法使用)的方法整理...

    Android Studio 基础 之 获取系统Calendar 日历日程 (涉及指定日期时间判断是星期几的方法使用)的方法整理 目录 Android Studio 基础 之 获取系统Calendar ...

  8. Android 开发--利用android studio 制作简单文字打怪升级游戏(伪地牢类)1.开始

    本人目前是大三考研党,之前有学过一些杂七杂八的知识,但是没有办法利用这些知识制作一些真正有用的东西出来.后来自学了android开发,学会使用了android studio,终于决定利用android ...

  9. android可折叠窗口,Android Studio使用recyclerview实现展开和折叠功能(在之前的微信页面基础之上)...

    Android中RecyclerView点击item展开列表详细内容 效果如下: 依然是xml文件的设计,使用了两个RelativeLayout,zu作为主布局和副布局,里面都加入textview显示 ...

最新文章

  1. LeetCode hard 84. Largest Rectangle in Histogram--python,java 15行,c++ 15行 解法
  2. ptp driver Linux doc
  3. linux ip 转发设置 ip_forward
  4. matlab ,python,c++关于格式化输出数字的表达
  5. 计算机算法音乐专业,音乐信号分析算法的乐理简说(非音乐专业的乐理)
  6. Python 中的可执行对象 eval,exec 和 compile与其在深度学习训练中的应用实例
  7. magento 在产品页添加评论 Add Review Form in Magento Product View Page
  8. BIO/NIO/AIO的区别及应用场景
  9. 雨林木风工具箱 3.5
  10. 并查集算法题-We Are A Team-python实现
  11. IDEA jclasslib插件安装
  12. Arx常用代码《转》
  13. java微信小程序的在线学习平台
  14. Krpano学习:全景图补天补地(PTGui + Photoshop)
  15. android 自定义圆形头像,android自定义圆形头像
  16. React: onRef 和 ref
  17. ExtJS初级教程之ExtJS Tree(三)
  18. 考驾照 一把过 74天拿证 这速度还可以?
  19. Unicode编码(统一码)
  20. 使用bop_toolkit渲染自己的ply中face元素的颜色

热门文章

  1. pandas使用set_table_attributes函数、display_html函数等在jupyter notebook中并排显示两个dataframe的内容(side by side)
  2. R语言使用coin包应用于分类变量独立性问题的置换检验(permutation tests)、使用普通卡方检验chisq.test函数和置换近似卡方检验chisq.test函数、检验分类变量的独立性
  3. R语言unique函数计算数据对象(vector、dataframe)的unique独特值:unique函数从vector向量、dataframe中删除重复项、删除dataframe重复行
  4. R语言axis函数自定义可视化的坐标轴刻度线(axis ticks)
  5. 从RBM(受限玻尔兹曼机)开始、到深度信念网络(DBN)再到自动编码器(AE)
  6. R语言_高级数据管理
  7. Keras Bug 解决方法 Exception ignored in: bound method BaseSession.__del__ of
  8. 北工大计算机学院教授,北工大计算机学院计算机科学与技术导师介绍:杨宇光...
  9. windows10 Selenium Chrome 驱动安装
  10. ubuntu 14.04 16.04 18.04使用阿里源