1.首先打开Android Studio,新建一个项目。 2.将准备好的图标复制到res/drawable文件夹里,我用的是线性布局和相对布局,先建一个线性布局, 在线性布局中包含4个相对布局,每个相对布局里有2个TextView.代码如下:
<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" android:layout_weight="1" android:layout_width="385dp"> <TextView style="@style/tv_style" android:layout_marginLeft="35dp" android:drawableTop="@drawable/clound" android:text="@string/_cloud" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginStart="35dp" android:id="@+id/textView" /> <TextView style="@style/tv_style" android:drawableTop="@drawable/bluetooth" android:text="@string/_bluetooth" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/textView" android:layout_toEndOf="@+id/textView" android:layout_marginLeft="20dp" android:layout_marginStart="20dp" android:id="@+id/textView2" /> </RelativeLayout> <RelativeLayout style="@style/h_wrap_content" android:layout_marginTop="10dp" android:layout_weight="1"> <TextView style="@style/tv_style" android:layout_marginLeft="35dp" android:drawableTop="@drawable/gesture" android:text="@string/_gesture" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginStart="35dp" android:id="@+id/textView3" /> <TextView style="@style/tv_style" android:drawableTop="@drawable/gps" android:text="@string/_gps" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/textView3" android:layout_toEndOf="@+id/textView3" android:layout_marginLeft="20dp" android:layout_marginStart="20dp" android:id="@+id/textView4" /> </RelativeLayout> <RelativeLayout style="@style/h_wrap_content" android:layout_marginTop="10dp" android:layout_weight="1"> <TextView style="@style/tv_style" android:drawableTop="@drawable/info" android:text="@string/_system_info" android:layout_marginRight="25dp" android:layout_marginEnd="20dp" android:id="@+id/textView6" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/textView5" android:layout_toStartOf="@+id/textView5" /> <TextView style="@style/tv_style" android:layout_marginRight="27dp" android:drawableTop="@drawable/internet" android:text="@string/_internet" android:layout_marginEnd="28dp" android:id="@+id/textView5" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> </RelativeLayout> <RelativeLayout style="@style/h_wrap_content" android:layout_marginTop="10dp" android:layout_weight="1"> <TextView style="@style/tv_style" android:layout_marginRight="28dp" android:drawableTop="@drawable/notifycation" android:text="@string/_set_notifycation" android:id="@+id/textView7" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_marginEnd="28dp" /> <TextView style="@style/tv_style" android:drawableTop="@drawable/language" android:text="@string/_language" android:layout_marginRight="19dp" android:layout_marginEnd="19dp" android:id="@+id/textView8" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/textView7" android:layout_toStartOf="@+id/textView7" /> </RelativeLayout> </LinearLayout>3.在values文件夹下设置style.xml文件(相同控件之间的外边距和宽高都是固定的,因此代码大部分相同,将相同的代码作为样式放在style.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">150dp</item> <item name="android:layout_height">100dp</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>4.创建values-zh-rCN、values-en-rUS文件夹,并在文件夹中创建strings.xml
在project中可以看到这两个文件夹
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>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>5. 编写与界面交互的代码
接下来需要在MainActivity中编写与用户交互的逻辑代码,MainActivity对应的代码如下所示:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }6.英文下运行出来结果:
中文下运行出来结果:
到这里手机信息页面就做出来了。