Thứ Hai, 7 tháng 1, 2019

Học lập trình Android - Kiểu dáng và chủ đề

Một phong cách tài nguyên xác định định dạng và tìm kiếm một giao diện người dùng. Một kiểu có thể được áp dụng cho một Chế độ xem riêng lẻ (từ trong tệp bố cục) hoặc cho toàn bộ Hoạt động hoặc ứng dụng (từ trong tệp kê khai).

Xác định kiểu


Một kiểu được định nghĩa trong một tài nguyên XML tách biệt với XML chỉ định bố cục. Tệp XML này nằm trong thư mục res / value / của dự án của bạn và sẽ có <resource> làm nút gốc bắt buộc cho tệp kiểu. Tên của tệp XML là tùy ý, nhưng nó phải sử dụng phần mở rộng .xml.

Đào tạo Android
Đào tạo Android

Bạn có thể xác định nhiều kiểu cho mỗi tệp bằng cách sử dụng thẻ <style>nhưng mỗi kiểu sẽ có tên của nó xác định duy nhất kiểu đó. Thuộc tính kiểu Đào tạo Android được đặt bằng cách sử dụng thẻ <item> như được hiển thị bên dưới
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <style name="CustomFontStyle">
      <item name="android:layout_width">fill_parent</item>
      <item name="android:layout_height">wrap_content</item>
      <item name="android:capitalize">characters</item>
      <item name="android:typeface">monospace</item>
      <item name="android:textSize">12pt</item>
      <item name="android:textColor">#00FF00</item>/> 
   </style>
</resources>
Giá trị cho <item> có thể là chuỗi từ khóa, màu hex, tham chiếu đến loại tài nguyên khác hoặc giá trị khác tùy thuộc vào thuộc tính kiểu.

Sử dụng kiểu


Khi kiểu của bạn được xác định, bạn có thể sử dụng nó trong tệp Bố cục XML của mình bằng cách sử dụng thuộc tính kiểu như sau
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >

   <TextView
      android:id="@+id/text_id"
      style="@style/CustomFontStyle"
      android:text="@string/hello_world" />

</LinearLayout>
Để hiểu khái niệm liên quan đến Phong cách Android, bạn có thể kiểm tra Ví dụ về Phong cách trình diễn .

Phong cách kế thừa


Đào tạo Android hỗ trợ Kiểu kế thừa theo cách rất giống với biểu định kiểu xếp tầng trong thiết kế web. Bạn có thể sử dụng điều này để kế thừa các thuộc tính từ một kiểu hiện có và sau đó chỉ xác định các thuộc tính mà bạn muốn thay đổi hoặc thêm.

Để triển khai một chủ đề tùy chỉnh, hãy tạo hoặc chỉnh sửa MyAndroidApp / res / value / Themes.xml và thêm phần sau
<resources>
   ...
   <style name="MyCustomTheme" parent="android:style/Theme">
   <item name="android:textColorPrimary">#ffff0000</item>
   </style>
   ...
</resources>
Trong AndroidManifest.xml, hãy áp dụng chủ đề cho các hoạt động bạn muốn tạo kiểu
<activity
   android:name="com.myapp.MyActivity"
   ...
   android:theme="@style/MyCustomTheme"
   />
Chủ đề mới của bạn sẽ được áp dụng cho hoạt động của bạn và văn bản hiện có màu đỏ tươi.

Áp dụng màu sắc cho các thuộc tính chủ đề


Đào tạo Android Tài nguyên màu của bạn sau đó có thể được áp dụng cho một số thuộc tính chủ đề, chẳng hạn như nền cửa sổ và màu văn bản chính, bằng cách thêm các phần tử <item> vào chủ đề tùy chỉnh của bạn.

Các thuộc tính này được định nghĩa trong tệp Styles.xml của bạn. Ví dụ: để áp dụng màu tùy chỉnh cho nền cửa sổ, hãy thêm hai phần tử <item> sau vào chủ đề tùy chỉnh của bạn, được xác định trong tệp MyAndroidApp / res / value / Styles.xml
<resources>
   ...
   <style name="MyCustomTheme" ...>
      <item name="android:windowBackground">@color/my_custom_color</item>
      <item name="android:colorBackgroundCacheHint">@color/my_custom_color</item>
   </style>
   ...
</resources>
Sử dụng một miếng vá chín tùy chỉnh với các nút

Drawable chín miếng là một loại hình ảnh đặc biệt có thể được thu nhỏ theo chiều rộng và chiều cao trong khi vẫn duy trì tính toàn vẹn thị giác của nó. Chín bản vá là cách phổ biến nhất để chỉ định sự xuất hiện của các nút Đào tạo Android, mặc dù có thể sử dụng bất kỳ loại có thể rút nào.

MỘT MẪU NÚT NINE-PATCH

Các bước để tạo nút Nine-Patch

Lưu bitmap này dưới dạng /res/drawable/my_nine_patch.9.png

Xác định một phong cách mới


Áp dụng kiểu nút mới cho thuộc tính buttonStyle của chủ đề tùy chỉnh của bạn

Xác định một phong cách mới
<resources>
   ...
      <style name="MyCustomButton" parent="android:Widget.Button">
      <item name="android:background">@drawable/my_nine_patch</item>
      </style>
   ...
</resources>
Áp dụng chủ đề
<resources>
   ...
      <style name="MyCustomTheme" parent=...>
         ...
         <item name="android:buttonStyle">@style/MyCustomButton</item>
      </style>
   ...
</resources>

Chủ đề Android

Hy vọng bạn hiểu khái niệm về Phong cách, vì vậy bây giờ chúng ta hãy cố gắng hiểu Chủ đề là gì . Chủ đề không là gì ngoài kiểu Đào tạo Android được áp dụng cho toàn bộ Hoạt động hoặc ứng dụng, thay vì một Chế độ xem riêng lẻ.

Do đó, khi một kiểu được áp dụng làm chủ đề, mọi Chế độ xem trong Hoạt động hoặc ứng dụng sẽ áp dụng từng thuộc tính kiểu mà nó hỗ trợ. Ví dụ: bạn có thể áp dụng cùng một kiểu CustomFontStyle làm chủ đề cho một Hoạt động và sau đó tất cả văn bản bên trong Hoạt động đó sẽ có phông chữ đơn cách màu xanh lục.

Để đặt chủ đề cho tất cả các hoạt động của ứng dụng của bạn, hãy mở tệp AndroidManifest.xml và chỉnh sửa thẻ <application> để bao gồm thuộc tính android: theme với tên kiểu.

<application android:theme="@style/CustomFontStyle">

Nhưng nếu bạn muốn một chủ đề được áp dụng cho chỉ một Hoạt động trong ứng dụng của mình, thì hãy thêm thuộc tính android: theme vào thẻ <Activity>.

<activity android:theme="@style/CustomFontStyle">

Có một số chủ đề mặc định được xác định bởi Android mà bạn có thể sử dụng trực tiếp hoặc kế thừa chúng bằng thuộc tính gốc như sau
<style name="CustomTheme" parent="android:Theme.Light">
   ...
</style>
Để hiểu khái niệm liên quan đến Chủ đề Đào tạo Android, bạn có thể kiểm tra Ví dụ Trình diễn chủ đề .

Tạo kiểu cho bảng màu


Thiết kế bố trí có thể thực hiện được dựa trên các màu dựa trên chúng, ví dụ như thiết kế sau được thiết kế dựa trên màu sắc của chúng (màu xanh)

Bố cục ở trên đã được thiết kế dựa trên tệp style.xml, được đặt ở độ phân giải / giá trị /
<resource>
   <style name="AppTheme" parent="android:Theme.Material"> 
      <item name ="android:color/primary">@color/primary</item>
      <item name ="android:color/primaryDark">@color/primary_dark</item>
      <item name ="android:colorAccent/primary">@color/accent</item>
   </style>
<resource> 

Kiểu & Chủ đề mặc định

Nền tảng Đào tạo Android cung cấp một bộ sưu tập lớn các kiểu và chủ đề mà bạn có thể sử dụng trong các ứng dụng của mình. Bạn có thể tìm thấy một tài liệu tham khảo về tất cả các kiểu có sẵn trong lớp R.style .

Để sử dụng các kiểu được liệt kê ở đây, thay thế tất cả các dấu gạch dưới trong tên kiểu bằng một dấu chấm.

Ví dụ: bạn có thể áp dụng chủ đề Theme_NoTitleBar với "@android: style / Theme.NoTitleBar". Bạn có thể xem mã nguồn sau cho các kiểu và chủ đề của Android

Không có nhận xét nào:

Đăng nhận xét

Lập trình Android - RenderScript

Trong chương này, chúng ta sẽ tìm hiểu về Android RenderScript. Thông thường các ứng dụng trên Android được thiết kế để tiêu thụ tài nguyên ...