blob: 260b40d9e19c85f5c04ce321e28b7a4814e9c943 [file] [log] [blame]
page.title=Tng quan v UI
@jd:body
<p>Tt c phn t giao din người dùng trong mt ng dng Android đều được xây dng bng cách s dng các đối tượng {@link android.view.View} và
{@link android.view.ViewGroup}. {@link android.view.View} là mt đối tượng có chc năng v
th gì đó trên màn hình mà người dùng có th tương tác vi. {@link android.view.ViewGroup} là mt đối tượng
có chc năng gi các đối tượng {@link android.view.View} (và {@link android.view.ViewGroup}) khác
để định nghĩa b trí ca giao din.</p>
<p>Android cung cp mt bộ sưu tp c lp con {@link android.view.View} và {@link
android.view.ViewGroup} cung cp cho bn các cách điu khin nhp liu thông dng (chng hn như nút và
trường văn bn) và các mô hình b trí khác nhau (chng hn như b trí tuyến tính hoc tương đối).</p>
<h2 id="Layout">B trí Giao din Người dùng</h2>
<p>Giao din người dùng ca tng thành phn trong ng dng ca bn được định nghĩa bng cách s dng mt phân cp ca các đối tượng {@link
android.view.View} và {@link android.view.ViewGroup} như minh ha trong hình 1. Mi nhóm dng xem
là mt b cha vô hình có chc năng t chc các dng xem con, trong khi dng xem con có th là
điu khin nhp liu hoc các widget khác để
v mt phn nào đó ca UI. Cây phân cp này có th đơn gin hoc phc tp như nhu cu
ca bn (nhưng đơn gin s tt cho hiu năng).</p>
<img src="{@docRoot}images/viewgroup.png" alt="" />
<p class="img-caption"><strong>Hình 1.</strong> Minh ha mt phân cp dng xem có chc năng định nghĩa mt
b trí UI.</p>
<p>Để khai báo b trí ca mình, bn có th khi to các đối tượng {@link android.view.View} trong mã và bt đầu
xây dng mt cây, nhưng cách d nht và hiu qu nht để định nghĩa b trí ca bn đó là bng mt tp XML.
XML cung cp mt cu trúc mà người dùng có th đọc được cho b trí, tương t như HTML.</p>
<p>Tên ca phn t XML đối vi mt dng xem tương ng vi lp Android mà nó biu din. Vì thế mt phn t
<code>&lt;TextView&gt;</code> to ra mt widget {@link android.widget.TextView} trong UI ca bn,
và mt phn t <code>&lt;LinearLayout&gt;</code> to ra mt nhóm dng xem {@link android.widget.LinearLayout}
. </p>
<p>Ví dụ, mt b trí thng đứng đơn gin vi dng xem văn bn và nút trông như sau:</p>
<pre>
&lt;?xml version="1.0" encoding="utf-8"?>
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
&lt;TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a TextView" />
&lt;Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a Button" />
&lt;/LinearLayout>
</pre>
<p>Khi bn ti mt tài nguyên b trí trong ng dng ca mình, Android khi to tng nút ca b trí vào mt
đối tượng thi gian chy mà bn có th s dng để định nghĩa các hành vi b sung, truy vn trng thái ca đối tượng hoc sa đổi
b trí.</p>
<p>Để xem hướng dn đầy đủ v to b trí UI, hãy xem phn <a href="declaring-layout.html">B trí
XML</a>.
<h2 id="UIComponents">Thành phn Giao din Người dùng</h2>
<p>Bn không phi xây dng tt c UI ca mình bng cách s dng các đối tượng {@link android.view.View} và {@link
android.view.ViewGroup}. Android cung cp mt vài thành phn ng dng đưa ra mt
b trí UI chun mà bn ch cn định nghĩa ni dung cho nó. Mi thành phn UI như vy
đều có mt b API duy nht được mô t trong các tài liu tương ng, chng hn như <a href="{@docRoot}guide/topics/ui/actionbar.html">Thanh Hành động</a>, <a href="{@docRoot}guide/topics/ui/dialogs.html">Hộp thoại</a> và <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">Thông báo Trạng thái</a>.</p>