用Android Studio编写一个“手机信息页面”程序

Android Studio创建一个名为“手机信息页面”的程序,该程序用于展示手机设置页面的信息。

1.运行效果图

用Android Studio编写一个“手机信息页面”程序_第1张图片用Android Studio编写一个“手机信息页面”程序_第2张图片

2.  设计思路(实现原理)

1)将准备好的八个图标复制到res/drawable文件夹下

2)创建一个垂直的线性布局,并在线性布局中创建4个相对布局  

3)在相对布局中添加相应的TextView

4)在values文件下的style.xml文件中存放抽取出来的样式

5)创建values-zh-rCN、values-en-rUS文件夹,并在文件夹中创建strings.xml文件

3.案例实现

1)创建手机信息页面程序

res/layout文件夹下的activity_main.xml为程序界面对应布局文件,其中的代码如下所示:

xml version="1.0" encoding="utf-8"?>
<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="bzu.edu.cn.phoneinfo.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)抽取样式

由于编写布局文件时,相同控件之间的外边距和宽高都是固定的。因此会产生大量重复的布局

代码,为了代码简洁和重复使用可以将相同代码抽取为样式单独放在一个style.xml文件中。

res/values文件夹下创建style.xml文件,style.xml文件中代码如下所示:

xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppBaseTheme" parent="android:Theme.Light">style>
    
    <style name="h_wrap_content">
        <item name="android:layout_width">match_parentitem>
        <item name="android:layout_height">wrap_contentitem>
    style>
    
    <style name="tv_style">
        <item name="android:layout_width">160dpitem>
        <item name="android:layout_height">115dpitem>
        <item name="android:gravity">centeritem>
        <item name="android:paddingTop">8dpitem>
        <item name="android:paddingBottom">8dpitem>
        <item name="android:drawablePadding">5dpitem>
        <item name="android:background">@android:color/whiteitem>
    style>
resources>
3) 创建 values-zh-rCN、values-en-rUS 文件夹

res目录下创建values-zh-rCN、values-en-rUS文件夹,并在这两个文件夹下创建相应

strings.xml文件。

values-zh-rCN文件夹下的strings.xml文件如下所示:

xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">手机信息页面string>
    <string name="menu_settings">设置string>
    <string name="hello_world">你好,世界!string>
    <string name="_cloud">云通信string>
    <string name="_bluetooth">蓝牙string>
    <string name="_gesture">自定义手势string>
    <string name="_gps">定位string>
    <string name="_system_info">系统信息string>
    <string name="_internet">网络string>
    <string name="_language">语言设置string>
    <string name="_set_notifycation">通知栏设置string>
resources>
values-en-rUS 文件夹下的 strings.xml 文件如下所示:

xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">phoneInfostring>
    <string name="menu_settings">Settingsstring>
    <string name="hello_world">Hello world!string>
    <string name="_cloud">Cloudstring>
    <string name="_bluetooth">Bluetoothstring>
    <string name="_gesture">Gesturestring>
    <string name="_gps">Gpsstring>
    <string name="_system_info">SystemInfostring>
    <string name="_internet">Internetstring>
    <string name="_language">Languagestring>
    <string name="_set_notifycation">Notifycationstring>
resources>
4)编写与界面交互的代码

需要在MainActivity中编写与用户交互的逻辑代码,MainActivity对应的代码如下所示:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

以上便是手机信息页面的全部代码,运行在模拟器上上面的字默认会显示英文,要想显示

中文需要设置一下:

首先找到模拟器的设置Settings点击进入

用Android Studio编写一个“手机信息页面”程序_第3张图片

用Android Studio编写一个“手机信息页面”程序_第4张图片

用Android Studio编写一个“手机信息页面”程序_第5张图片

用Android Studio编写一个“手机信息页面”程序_第6张图片

用Android Studio编写一个“手机信息页面”程序_第7张图片

设置好之后运行模拟器页面上面的字就会显示为中文

用Android Studio编写一个“手机信息页面”程序_第8张图片



你可能感兴趣的:(用Android Studio编写一个“手机信息页面”程序)