手机信息页面

来源:互联网 发布:java接口接收json数据 编辑:程序博客网 时间:2024/06/05 00:11

一、 实验目的

1. 掌握相对布局、线性布局的使用

2. 掌握样式的使用

3. 掌握如何对程序进行国际化

二、实验任务

             手机信息页面

运行效果图


三、设计思路

1.新建一个项目

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

3.创建values-zh-rCNvalues-en-rUS文件夹,并在文件夹中创建strings.xml文件

4.相同控件之间的外边距和宽高都是固定的。因此会产生大量重复的代码,所以就把这些代码单独放在一个style.xml文件中

5.创建一个垂直(vertical)的线性布局,并在线性布局中创建4个相对布局 ,同时注意空间之间的位置

6.在相对布局中添加相应TextView的属性

四、注意事项

1.创建values-zh-rCNvalues-en-rUS文件夹,在Android视图下面是看不见的,应该切换到Project视图下

2.在TextView里面要加上相应的表示位置的属性layout_alignParentLeft和layout_alignParentLeft,否则显示的图片会重叠或者杂乱

3.要注意margin和padding的区别

4.如果你的布局文件不是写在activity_main,那你应该在运行修改一下文件setContentView(R.layout.activity_main),改成setContentView(R.layout.新建的布局文件)

五、案例实现

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

程序界面对应布局文件linearlayout.xml如下图所示

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/darker_gray"
    android:orientation="vertical">


    <RelativeLayout
        style="@style/re_style"
        android:layout_marginTop="10dp">


        <TextView
            android:id="@+id/clound"
            style="@style/tv_style"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="12dp"
            android:drawableTop="@drawable/clound"
            android:text="@string/_cloud" />


        <TextView
            android:id="@+id/bluetooth"
            style="@style/tv_style"
            android:layout_alignParentRight="true"
            android:layout_marginRight="12dp"
            android:drawableTop="@drawable/bluetooth"
            android:text="@string/_bluetooth" />
    </RelativeLayout>


    <RelativeLayout
        style="@style/re_style"
        android:layout_marginTop="10dp">


        <TextView
            android:id="@+id/gesture"
            style="@style/tv_style"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="12dp"
            android:drawableTop="@drawable/gesture"
            android:text="@string/_gesture" />


        <TextView
            android:id="@+id/gps"
            style="@style/tv_style"
            android:layout_alignParentRight="true"
            android:layout_marginRight="12dp"
            android:drawableTop="@drawable/gps"
            android:text="@string/_gesture" />
    </RelativeLayout>


    <RelativeLayout
        style="@style/re_style"
        android:layout_marginTop="10dp">


        <TextView
            android:id="@+id/info"
            style="@style/tv_style"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="12dp"
            android:drawableTop="@drawable/info"
            android:text="@string/_system_info" />


        <TextView
            android:id="@+id/internet"
            style="@style/tv_style"
            android:layout_alignParentRight="true"
            android:layout_marginRight="12dp"
            android:drawableTop="@drawable/internet"
            android:text="@string/_internet" />
    </RelativeLayout>


    <RelativeLayout
        style="@style/re_style"
        android:layout_marginTop="10dp">


        <TextView
            android:id="@+id/languageuage"
            style="@style/tv_style"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="12dp"
            android:drawableTop="@drawable/language"
            android:text="@string/_language" />


        <TextView
            android:id="@+id/notifycation"
            style="@style/tv_style"
            android:layout_alignParentRight="true"
            android:layout_marginRight="12dp"
            android:drawableTop="@drawable/notifycation"
            android:text="@string/_set_notifycation" />
    </RelativeLayout>
</LinearLayout>

(2)抽取样式

style.xml文件如下所示

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="re_style">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
    </style>
    <style name="tv_style">
        <item name="android:layout_width">145dp</item>
        <item name="android:layout_height">90dp</item>
        <item name="android:paddingTop">6dp</item>
        <item name="android:paddingBottom">6dp</item>
        <item name="android:gravity">center</item>
        <item name="android:drawablePadding">5dp</item>
        <item name="android:background">@android:color/white</item>
    </style>
</resources>

3)创建values-zh-rCNvalues-en-rUS文件夹

res目录下创建values-zh-rCNvalues-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="_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"?>

<string name="app_name">phoneInfo</string>
    <string name="menu_settings">Settings</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>

4)编写与界面交互的代码

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

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.linearlayout);

}

}


六、最终结果图








 




0 0