手机信息页面
来源:互联网 发布:java接口接收json数据 编辑:程序博客网 时间:2024/06/05 00:11
一、 实验目的
1. 掌握相对布局、线性布局的使用
2. 掌握样式的使用
3. 掌握如何对程序进行国际化
二、实验任务
手机信息页面
运行效果图
三、设计思路
1.新建一个项目
2.将准备好的八个图标复制到res/drawable文件夹下
3.创建values-zh-rCN、values-en-rUS文件夹,并在文件夹中创建strings.xml文件
4.相同控件之间的外边距和宽高都是固定的。因此会产生大量重复的代码,所以就把这些代码单独放在一个style.xml文件中
5.创建一个垂直(vertical)的线性布局,并在线性布局中创建4个相对布局 ,同时注意空间之间的位置
6.在相对布局中添加相应TextView的属性
四、注意事项
1.创建values-zh-rCN、values-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-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="_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);
}
}
六、最终结果图
- 手机手机信息页面实现
- Android_手机信息页面
- 手机信息页面
- 手机信息页面1.
- 手机信息页面
- 手机信息页面设置
- 手机信息页面设置
- 手机信息页面设置
- 手机信息页面
- 手机信息页面显示
- 手机信息页面
- 手机信息页面
- 手机信息页面设置
- 手机信息页面
- 手机信息页面
- 手机信息页面phoneinfo
- 手机信息页面
- 手机信息页面
- jquery获取当前tomcat目录
- Python中func(*args, **kwargs)的参数问题
- Java中堆内存和栈内存详解
- opencv计算机视觉编程攻略:前言
- HTML错题集锦(1)
- 手机信息页面
- 学习Spring cloud第二课(初识Spring cloud)
- 170314Css hacks
- mfcs80ud.lib(dllmodul.obj) : error LNK2005: _DllMain@12 已经定义 的 解决方法
- HDU2888
- CoreData之MagicalRecord源码解读
- cpu大小端测试
- Maven 运行异常
- Coursera--Big Data Analysis with Scala and Spark