如何建造一个简单的手机信息页面

做一个简单的手机信息页面的效果图,具体样式如下图:


 设计思路(实现原理)

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

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

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

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

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

1.创建一个名为“手机信息页面”的程序,具体实现代码为:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    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_marginRight="12dp"
            android:drawableTop="@drawable/bluetooth"
            android:text="@string/_bluetooth"
            android:layout_alignParentTop="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_marginEnd="12dp" />
    </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>

由于编写布局文件时,相同控件之间的外边距和宽高都是固定的。因此会产生大量重复的布局代码,为了代码简洁和重复使用可以将相同代码抽取为样式单独放在一个style.xml文件中。style.xml文件如下所示:

<resources>

    <style name="AppBaseTheme"parent="android:Theme.Light">

    </style>

    <style name="AppTheme"parent="AppBaseTheme">

    </style>

    <!-- 宽 match——parent 高 wrap_content-->

    <stylename="h_wrap_content">

        <item name="android:layout_width">match_parent</item>

        <itemname="android:layout_height">wrap_content</item>

    </style>

     <!-- 宽高都 match——parent -->

    <style name="tv_style">

        <itemname="android:layout_width">145dp</item>

        <item name="android:layout_height">90dp</item>

        <itemname="android:gravity">center</item>

        <itemname="android:paddingTop">8dp</item>

        <itemname="android:paddingBottom">8dp</item>

        <itemname="android:drawablePadding">5dp</item>

        <item name="android:background">@android:color/white</item>

    </style>

</resources>  

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

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

<?xmlversion="1.0" encoding="utf-8"?>

<resources>

    <string name="app_name">手机信息页面</string>

    <stringname="menu_settings">设置</string>

    <string name="hello_world">你好,世界!</string>

    <string name="_cloud">云通信</string>

    <string name="_bluetooth">蓝牙</string>

    <string name="_gesture">自定义手势</string>

    <string name="_gps">定位</string>

    <stringname="_system_info">系统信息</string>

    <string name="_internet">网络</string>

    <string name="_language">语言设置</string>

    <stringname="_set_notifycation">通知栏设置</string>

</resources>

values-en-rUS文件夹下的strings.xml文件如下所示:

<?xmlversion="1.0" encoding="utf-8"?>

<resources>

    <stringname="app_name">phoneInfo</string>

    <stringname="menu_settings">Settings</string>

    <stringname="hello_world">Hello world!</string>

    <stringname="_cloud">Cloud</string>

    <stringname="_bluetooth">Bluetooth</string>

    <stringname="_gesture">Gesture</string>

    <stringname="_gps">Gps</string>

    <stringname="_system_info">SystemInfo</string>

    <stringname="_internet">Internet</string>

    <stringname="_language">Language</string>

    <string name="_set_notifycation">Notifycation</string>

</resources>

在res下创建文件夹的方式为右击res,new一个Directory,取相应的名字就OK了。但是建完文件夹后会找不到相应的文件夹,只需要切换到Project—>项目名—>app—>src->main->res这样就可以找到相应的文件夹了

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

publicclass MainActivity extends Activity {

  @Override

  protected void onCreate(BundlesavedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.activity_main);

  }

}

这个地方要注意R会变成红色,也就是出现有错误,这就需要检查一下建立的项目,可能是名称不合法。

最后做出来的效果图是这样的:

通过此次的实验,可以更好的掌握线性布局和相对布局的概念,也能掌握样式的使用,还学习了一些如何对程序进行国际化的方法,虽然中间会出现一些小问题,但最终都解决了啊,还加深了印象,更好的记住了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue是一种流行的JavaScript框架,用于构建用户界面。要编写一个手机短信验证码登录的页面,我们可以按照以下步骤进行: 1. 创建Vue应用:首先,在HTML文件引入Vue库,并在JavaScript文件创建Vue实例。 2. 设计页面结构:在Vue实例,使用HTML和Vue的模板语法来设计页面结构。可以包括一个表单和相关的输入框、按钮等元素。 3. 定义数据和方法:在Vue实例,定义数据属性来存储用户输入的手机号码和验证码,以及其他需要的数据。同时,定义方法来处理用户的点击事件,例如发送验证码、登录等操作。 4. 实现发送验证码功能:在发送验证码的方法,可以使用Vue的生命周期钩子函数mounted,来模拟发送短信验证码的功能。在这个方法,可以生成一个随机的验证码,并将其显示在页面上。 5. 验证手机号码和验证码:在登录方法,可以比较用户输入的手机号码和验证码与之前生成的手机号码和验证码是否匹配。如果匹配成功,则可以执行登录操作。 6. 处理用户界面的交互和反馈:根据用户的操作和输入,可以使用Vue的数据绑定和条件渲染来实时更新页面的内容。例如,在用户点击发送验证码按钮后,可以禁用按钮一段时间,并显示倒计时。 7. 添加样式和美化页面:根据需求和个人喜好,可以使用CSS样式来美化页面,使其更加吸引和友好。 通过以上步骤,可以完成一个简单手机短信验证码登录页面的开发。当用户输入正确的手机号码和验证码并点击登录时,可以进行进一步的后续操作,例如跳转到其他页面或者显示登录成功的提示信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值