Android UI手機(jī)信息頁(yè)面設(shè)計(jì)
本文實(shí)例為大家分享了Android UI 手機(jī)信息頁(yè)面展示的具體代碼,供大家參考,具體內(nèi)容如下
1. 運(yùn)行效果圖

2. 設(shè)計(jì)思路(實(shí)現(xiàn)原理)
1.將準(zhǔn)備好的八個(gè)圖標(biāo)復(fù)制到res/drawable文件夾下
2.創(chuàng)建一個(gè)垂直的線性布局,并在線性布局中創(chuàng)建4個(gè)相對(duì)布局
3.在相對(duì)布局中添加相應(yīng)的TextView
4.在values文件下的style.xml文件中存放抽取出來(lái)的樣式
5.創(chuàng)建values-zh-rCN、values-en-rUS文件夾,并在文件夾中創(chuàng)建strings.xml文件夾
3.案例實(shí)現(xiàn)
(1)創(chuàng)建“手機(jī)信息頁(yè)面”程序
創(chuàng)建一個(gè)名為“手機(jī)信息頁(yè)面”的程序,該程序用于展示手機(jī)設(shè)置頁(yè)面的信息。程序界面對(duì)應(yīng)布局文件activity_mian.xml如下所示:
<LinearLayout 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" android:background="@android:color/darker_gray" android:orientation="vertical" tools:context=".MainActivity" > <RelativeLayout style="@style/h_wrap_content" android:layout_marginTop="10dp"> <TextView style="@style/tv_style" android:layout_alignParentLeft="true" android:layout_marginLeft="10dp" android:drawableTop="@drawable/clound" android:text="@string/_cloud" /> <TextView style="@style/tv_style" android:layout_alignParentRight="true" android:layout_marginRight="10dp" android:drawableTop="@drawable/bluetooth" android:text="@string/_bluetooth" /> </RelativeLayout> <RelativeLayout style="@style/h_wrap_content" android:layout_marginTop="10dp"> <TextView style="@style/tv_style" android:layout_alignParentLeft="true" android:layout_marginLeft="10dp" android:drawableTop="@drawable/gesture" android:text="@string/_gesture" /> <TextView style="@style/tv_style" android:layout_alignParentRight="true" android:layout_marginRight="10dp" android:drawableTop="@drawable/gps" android:text="@string/_gps" /> </RelativeLayout> <RelativeLayout style="@style/h_wrap_content" android:layout_marginTop="10dp"> <TextView style="@style/tv_style" android:layout_alignParentLeft="true" android:layout_marginLeft="10dp" android:drawableTop="@drawable/info" android:text="@string/_system_info" /> <TextView style="@style/tv_style" android:layout_alignParentRight="true" android:layout_marginRight="10dp" android:drawableTop="@drawable/internet" android:text="@string/_internet" /> </RelativeLayout> <RelativeLayout style="@style/h_wrap_content" android:layout_marginTop="10dp"> <TextView style="@style/tv_style" android:layout_alignParentLeft="true" android:layout_marginLeft="10dp" android:drawableTop="@drawable/language" android:text="@string/_language" /> <TextView style="@style/tv_style" android:layout_alignParentRight="true" android:layout_marginRight="10dp" android:drawableTop="@drawable/notifycation" android:text="@string/_set_notifycation" /> </RelativeLayout> </LinearLayout>
(2)抽取樣式
由于編寫布局文件時(shí),相同控件之間的外邊距和寬高都是固定的。因此會(huì)產(chǎn)生大量重復(fù)的布局代碼,為了代碼簡(jiǎn)潔和重復(fù)使用可以將相同代碼抽取為樣式單獨(dú)放在一個(gè)styles.xml文件中。一般情況下 在app的vlaue文件夾下會(huì)自帶一個(gè)styles.xml文件styles.xml文件如下所示:
<resources> <style name="AppBaseTheme" parent="android:Theme.Light"> </style> <style name="AppTheme" parent="AppBaseTheme"> </style> <!-- 寬 match——parent 高 wrap_content--> <style name="h_wrap_content"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> </style> <!-- 寬高都 match——parent --> <style name="tv_style"> <item name="android:layout_width">145dp</item> <item name="android:layout_height">90dp</item> <item name="android:gravity">center</item> <item name="android:paddingTop">8dp</item> <item name="android:paddingBottom">8dp</item> <item name="android:drawablePadding">5dp</item> <item name="android:background">@android:color/white</item> </style> </resources>
(3)創(chuàng)建values-zh-rCN、values-en-rUS文件夾
切換到project打開(kāi)MyApplication->app->src->main->res,創(chuàng)建values-zh-rCN、values-en-rUS文件夾,并在這兩個(gè)文件夾下創(chuàng)建相應(yīng)的strings.xml文件。
values-zh-rCN文件夾下的strings.xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">手機(jī)信息頁(yè)面</string> <string name="menu_settings">設(shè)置</string> <string name="hello_world">你好,世界!</string> <string name="_cloud">云通信</string> <string name="_bluetooth">藍(lán)牙</string> <string name="_gesture">自定義手勢(shì)</string> <string name="_gps">定位</string> <string name="_system_info">系統(tǒng)信息</string> <string name="_internet">網(wǎng)絡(luò)</string> <string name="_language">語(yǔ)言設(shè)置</string> <string name="_set_notifycation">通知欄設(shè)置</string> </resources>
values-en-rUS文件夾下的strings.xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">phoneInfo</string> <string name="menu_settings">Settings</string> <string name="hello_world">Hello world!</string> <string name="_cloud">Cloud</string> <string name="_bluetooth">Bluetooth</string> <string name="_gesture">Gesture</string> <string name="_gps">Gps</string> <string name="_system_info">SystemInfo</string> <string name="_internet">Internet</string> <string name="_language">Language</string> <string name="_set_notifycation">Notifycation</string> </resources>
你會(huì)看到如下效果:


(4)編寫與界面交互的代碼
接下來(lái)需要在MainActivity中編寫與用戶交互的邏輯代碼,MainActivity對(duì)應(yīng)的代碼如下所示:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
(5)查看運(yùn)行結(jié)果
各控件及其屬性可根據(jù)情況進(jìn)行修改。
相關(guān)文章
詳解Android studio如何導(dǎo)入jar包方法
這篇內(nèi)容主要給大家詳細(xì)說(shuō)明了如何導(dǎo)入jar包,以及Android studio遇到的各種問(wèn)題和解決辦法。2017-12-12
Android自定義View實(shí)現(xiàn)彈幕效果
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)彈幕效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Android編程之界面實(shí)現(xiàn)全屏顯示的方法(2種方法)
這篇文章主要介紹了Android編程之界面實(shí)現(xiàn)全屏顯示的方法,結(jié)合實(shí)例分析了Java代碼中設(shè)置與Manifest文件設(shè)置2種實(shí)現(xiàn)方法,需要的朋友可以參考下2016-01-01
Android 實(shí)現(xiàn)圓角圖片的簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android 實(shí)現(xiàn)圓角圖片的簡(jiǎn)單實(shí)例的相關(guān)資料,Android 圓角圖片的實(shí)現(xiàn)形式,包括用第三方、也有系統(tǒng),需要的朋友可以參考下2017-07-07
Android自定義HorizontalScrollView實(shí)現(xiàn)qq側(cè)滑菜單
本文主要介紹了android自定義HorizontalScrollView實(shí)現(xiàn)qq側(cè)滑菜單的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04

