码迷,mamicode.com
首页 > 移动开发 > 详细

S2. Android 常用控件

时间:2019-07-03 13:42:15      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:ble   完成   this   style   一个   mil   icon   ref   das   

 【概述

  • Button(普通按钮)
  • Toast(消息提示)
  • Menu(菜单)

Button

  • 在 MainActivity 对应的布局文件 activity_main.xml 中,使用图形编辑器加入一个按钮,如下图所示:

  技术图片

  • activity_main.xml 中会添加 Button 的代码,手动修改 id,text 信息,添加 onClick 事件
    <Button
        android:id="@+id/testBtn"
        android:layout_width="150dp"
        android:layout_height="43dp"
        android:onClick="onClick"
        android:text="测试按钮"
        tools:layout_editor_absoluteX="130dp"
        tools:layout_editor_absoluteY="46dp" />
  • 在 MainActivity.java 文件中添加 onClick 方法:同一个 Activity 的 click 事件可以使用同一个 onClick 方法来响应,通过 switch/case 进行分发。
    protected void onClick(View v){
        switch (v.getId()){
            case R.id.testBtn:
                Toast.makeText(this, "测试按钮被点击", Toast.LENGTH_SHORT).show();
        }
    }

Toast

  • 应用场景:例如打开手机淘宝,按一下返回键退出时,手机淘宝会提示“再按一次返回键退出手机淘宝”;同样 B站 App 也会在按一下返回键退出时提示 “再按一次退出”;这样的实现,是为了防止用户错按到返回键而退出,当然也有很多 App 并没有实现这一功能,或者说取消了这一功能,某程度上错按返回键的可能性不大,在不错按的时候 “阻止” 用户退出的行为多少用点影响用户体验。
  • 下面使用 Toast 来实现一下这个提示功能:Toast.makeText 三个参数:

  1). 消息展示的 Context 实例,一般指当前 Activity 实例;

  2). 消息提示的内容:字符串格式,也可以写到 R资源中;

  3). 消息提示的时间长度:Toast.LENGTH_SHORT 和 Toast.LENGTH_LONG

    //用户点击返回键时触发
    private static final int TIME_INTERVAL = 2000;
    private long mBackPressed = 0;
    public void onBackPressed(){
        long cMills = System.currentTimeMillis();
        if(cMills - mBackPressed > TIME_INTERVAL){//如果两次点击时间间隔超过 TIME_INTERVAL,则执行“提示退出”操作
            mBackPressed = cMills;
            Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show();
        }else{//如果两次点击在 TIME_INTERVAL 时间间隔内,则执行“退出”操作
            super.onBackPressed();
        }
    }

Menu

  • 文件结构:在 main/res/menu 文件夹下创建 bottom_nav_menu.xml。如果没有 menu 文件夹则先创建 menu 文件夹,选中 menu 文件夹,右键进行 “New” --> “Menu resource file”

技术图片

  创建 bottom_nav_menu.xml 完成。

   技术图片

  • 编辑 bottom_nav_menu.xml 如下:

技术图片

  • bottom_nav_menu.xml 对应代码:item 标签中主要定义了 id,icon(图标,在 drawable 文件夹中定义),title(标题,在 values/strings.xml 中定义)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/navigation_home"
        android:icon="@drawable/ic_home_black_24dp"
        android:title="@string/title_home" />

    <item
        android:id="@+id/navigation_dashboard"
        android:icon="@drawable/ic_dashboard_black_24dp"
        android:title="@string/title_dashboard" />

    <item
        android:id="@+id/navigation_notifications"
        android:icon="@drawable/ic_notifications_black_24dp"
        android:title="@string/title_notifications" />

</menu>
  • 对应的 drawable 文件,注意文件命名与 xml 配置是对应的

    技术图片

 

  • 对应的 string 文件,注意strings.xml 与 bottom_nav_menu.xml 配置是对应的

    技术图片

<resources>
    <string name="app_name">HelloWorld</string>
    <string name="title_home">主页</string>
    <string name="title_dashboard">导航</string>
    <string name="title_notifications">通知</string>
</resources>

  

 

S2. Android 常用控件

标签:ble   完成   this   style   一个   mil   icon   ref   das   

原文地址:https://www.cnblogs.com/zlxyt/p/11125568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!