【AndroidUI设计】主界面设计-Toolbar的简单使用

这篇具有很好参考价值的文章主要介绍了【AndroidUI设计】主界面设计-Toolbar的简单使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、引言

  • 描述:需要设计一个主界面,菜单通过主界面的左边界划入,实现点击跳转修改主界面内容的一个效果,并且点击非内容区域恢复原界面的一个效果。做到菜单的弹出,其实还可以加难度,通过向右滑动实现菜单的弹出。这里就作为一个思考问题,其实在我之前的几篇博客里都有使用到这个方法,就看看初学者有没有仔细去了解那些代码,与其双手奉上,不是自己创造
  • 知识点:Toolbar的使用
  • 难度:简单
  • 效果
    【AndroidUI设计】主界面设计-Toolbar的简单使用

二、了解

       用于应用程序内容的标准工具栏(图片截取自官网关于Toolbar的介绍)。其主要元素组合:导航按钮、品牌徽标图像、标题和副标题、标题和副标题、可选溢出菜单。

  • 导航按钮:向上箭头、导航菜单切换、关闭、折叠、完成或应用选择的其他字形。
  • 品牌徽标图像:延伸到条形的高度,并且可以任意宽。
  • 标题和副标题:是工具栏在导航层次结构中的当前位置以及其中包含的内容的路标
  • 自定义视图:可以向工具栏添加任意子视图,它们将显示在布局中的此位置。
  • 可选溢出菜单:提供一些频繁、重要或典型的操作

【AndroidUI设计】主界面设计-Toolbar的简单使用

三、编码

1、UI设计

       关于菜单内容,我就随便添加了几个按钮和图片,进行修饰一下,如果需要设计的精美可以查看同栏目下的【AndroidUI设计】个人信息界面 这篇博客,进行进一步的个性化设计。

<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawerlayout_drawer">

    <RelativeLayout
        android:id="@+id/drawerlayout_main_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/drawer_layout_rl_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/title_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="XXX软件"/>
        </androidx.appcompat.widget.Toolbar>

        <TextView
            android:id="@+id/main_text"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="主界面"
            android:textColor="@color/colorAccent"
            android:textSize="22sp" />
    </RelativeLayout>

    <LinearLayout
        android:id="@+id/drawerlayout_side_tv"
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        android:orientation="vertical">
        
        <!--    菜单内容    -->

        <ImageView
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:background="@drawable/b"/>

        <Button
            android:id="@+id/user"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="25dp"
            android:text=">我的账号"/>

        <Button
            android:id="@+id/shezhi"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="25dp"
            android:text=">设置"/>

        <Button
            android:id="@+id/cy"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="25dp"
            android:text=">创意"/>
    </LinearLayout>
</androidx.drawerlayout.widget.DrawerLayout>

2、编码

       关于Toolbar和ActionBar的使用,请参考官方给出的方案。因为最近有点忙,就不进行详细介绍了,直接copy即可(可以直接使用)。

  • 控件初始化

       控件的绑定我就不详细讲了,这在前几篇博客已经讲烂了,始终记住代码规范,主要是方便定位bug位置和简化代码排列。

	private DrawerLayout drawerLayout;
    private Button user,shezhi,cy;
    private TextView title, main;
    
	// 初始化代码
	private void init() {
        user = findViewById(R.id.user);
        shezhi = findViewById(R.id.shezhi);
        cy = findViewById(R.id.cy);
        title = findViewById(R.id.title_name);
        main = findViewById(R.id.main_text);
    }
  • 导航控制

       侧滑菜单的一个控制部分,分别导航按钮的显示和隐藏、内容的切换(这里只是简单的将内容进行了更替,至于具体设计则看需求如何)

	private void initToolbar() {
        final Toolbar toolbar = findViewById(R.id.drawer_layout_rl_toolbar);
        setSupportActionBar(toolbar);                   //传入ToolBar实例
        ActionBar actionBar = getSupportActionBar();    //得到ActionBar实例

        if (actionBar != null){
            //显示导航按钮
            actionBar.setDisplayHomeAsUpEnabled(true);
            //设置导航按钮图片
            actionBar.setHomeAsUpIndicator(R.drawable.j5);
        }
        drawerLayout = findViewById(R.id.drawerlayout_drawer);
        //设置toolbar的导航按钮监听事件
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //显示侧滑菜单
                drawerLayout.openDrawer(GravityCompat.START);
            }
        });

        user.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                title.setText("我的账号");
                main.setText("我的账号");
            }
        });

        shezhi.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                title.setText("设置");
                main.setText("设置");
            }
        });

        cy.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                title.setText("创意");
                main.setText("创意");
            }
        });
    }
  • onCreate

生命周期-初始化,仅有一次运行文章来源地址https://www.toymoban.com/news/detail-496202.html

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        init();
        initToolbar();
    }

到了这里,关于【AndroidUI设计】主界面设计-Toolbar的简单使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (JAVASwing界面)java实现简单的人事管理系统(数据库原理课程设计)

    题目:人事管理系统 摘要(包含两个部分): 1、课题需要完成的内容 人事管理系统是企业管理系统中不可缺少的重要组成部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。我们希望设计一个

    2024年02月03日
    浏览(50)
  • 使用PYQT5设计登录界面并实现界面跳转

    目录   1 UI登录界面的布局 2 UI登录界面布局对应的代码 3 登录界面和界面跳转完整代码 4 跳转界面代码函数和优化界面代码 5 最终效果        其中, 欢迎使用 XXXX 软件管理员密码 使用的是左边功能的 label 类、 登录 使用的是左边功能的 Push Button 类、 管理员和密码的输入

    2024年02月02日
    浏览(52)
  • qt中使用 ui 文件进行界面设计

    目录 1、创建 Qt 应用 ​2、项目创建成功 3、直接点击打开 mainwindow.ui 文件 4、随便从左边侧边栏拖拽一个空间到 界面设计区域 5、在右侧边栏右键点击 pushButton 控件,点击转到槽 6、根据实际需要选择对应的信号,我这里方便演示选择 clicked()信号,直接点击 OK 7、自动在

    2024年02月04日
    浏览(43)
  • Matlab:使用 GUIDE 设计 UI 界面并设置窗口大小

    Matlab:使用 GUIDE 设计 UI 界面并设置窗口大小 Matlab 的 GUIDE 工具箱是一个非常强大而灵活的工具,可以方便地创建自定义的用户界面。在设计 UI 界面时,首先要考虑的是界面的大小和布局。本文将介绍如何在 GUIDE 中设置 UI 窗口大小。 创建新的 GUI 首先,在 Matlab 中打开 GUID

    2024年02月11日
    浏览(37)
  • Python 使用tkinter设计Windows网页或应用的用户注册登录界面

    上一篇:Python 自定义模块和包设计英语生词本(文件版)-CSDN博客 紧接上一篇博文,当我们熟练掌握自定义模块和包、掌握文件的的读取与写入、掌握正则表达式内置模块\\\"re\\\"、掌握GUI(图形界面)的部分组件后,接着我们将要以上的知识点结合起来,设计一个GUI(图形界面

    2024年02月03日
    浏览(50)
  • 粤嵌实习-电梯界面的设计、触摸屏的使用、楼层按键状态的变化

    (1)设计排版 这里将界面分为启动界面、广告、显示、和按钮。 开发板屏幕为800 * 480,启动界面全屏显示,广告为200 * 480,一个按钮图片为100*96。 基本排版如下: (2)将所需的界面图片上传到开发板工作文件夹中 传输后如下: (3)将图片显示到开发板上 bmp.c中屏幕初始化

    2023年04月08日
    浏览(56)
  • 一文搞定dhtmlx-gantt调度界面,vue下使用dhtmlxgantt进行项目甘特图模块设计开发(前端界面显示篇(1))

    前言: 本文基于在较为成熟完整的项目,进行甘特图模块开发的内容。并不涉及node相关下载、安装及vue的相关使用。 1 需安装的模块 (1) dhtmlxgantt是进行甘特图开发过程中所用到的插件库,用于跨浏览器和跨平台应用程序的功能较为齐全的Gantt图表。其祖家组件为一个JavaScr

    2024年02月11日
    浏览(52)
  • Step by Step使用wxFormBuilder设计用户图形界面并集成入PyCharm

    wxFormBuilder (简称wxFB)是一个可以用于多种编程语言的图形用户界面设计工具。使用它可以方便的生成Pyhton,C++,PHP的源码文件。此处描述如何设计一个简单的用户输入界面,并将它集成入基于PyCharm IDE的Python项目中。 wxFormBuilder的界面如下: 其中 项目树 :包含所有用到的控

    2024年02月04日
    浏览(43)
  • 人工智能交互系统界面设计(Tkinter界面设计)

    在现代信息化时代,图形化用户界面(Graphical User Interface, GUI)已经成为各种软件应用和设备交互的主流方式,与传统的命令行界面(CLI)相比,GUI 具有直观性、易用性、交互性、可视化和多任务处理等优势。设计良好的用户交互界面可以让用户以更加直观、友好的方式与计

    2024年01月16日
    浏览(47)
  • python中的yolov5结合PyQt5,使用QT designer设计界面没正确启动的解决方法

    一、窗体设计test: 默认你已经设计好了窗体后: 这时你需要的是保存生成的untitle.ui到某个文件夹下,然后在命令行中奖.ui转换为.py(,通过​​pyqt5​​​提供的转换工具,将​​ui​​​文件转换成​​python​​的代码) 或者使用在PyCharm中安装的工具: 然后你会看到mai

    2024年02月07日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包