12. Material Design

news/2026/1/16 17:43:03/文章来源:https://www.cnblogs.com/a867686201/p/19493298

12. Material Design

kotlin

  • 引入库

  • // project structure
    com.google.android.material:1.1.0// app\build.gradle
    implementation 'de.hdodenhof:circleimageview:3.0.1'
    

Design

package com.example.helloworldimport android.os.Bundle
import androidx.appcompat.widget.Toolbarclass Design : BaseActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.design_layout)val toolbar5: Toolbar = findViewById(R.id.toolbar5)setSupportActionBar(toolbar5)supportActionBar?.setDisplayHomeAsUpEnabled(true)            // 设置返回按钮toolbar5.setNavigationOnClickListener { finish() }             // 设置结束 act2ActivityCollector.addActivity(this)}
}

MainActivity2

package com.example.helloworldimport android.content.Context
import android.content.Intent
import android.os.Bundle
import android.util.Log
import android.widget.ArrayAdapter
import android.widget.Button
import android.widget.ListView
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbarclass MainActivity2 : BaseActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.second_layout)// toolbar 部分val toolbar: Toolbar = findViewById(R.id.toolbar2)setSupportActionBar(toolbar)supportActionBar?.setDisplayHomeAsUpEnabled(true)            // 设置返回按钮toolbar.setNavigationOnClickListener { finish() }             // 设置结束 act2ActivityCollector.addActivity(this)// 从前一个 Activity 接收数据val extraData1 = intent.getStringExtra("param1")val extraData2 = intent.getStringExtra("param2")Log.d("Activity2", "param1 is $extraData1, param2 is $extraData2")// 返回数据(但是未实现)val button2: Button = findViewById(R.id.button2)        // 通过 id 找到 view, 并指明类型为 buttonbutton2.setOnClickListener {val intent = Intent().apply { putExtra("data_return", "Hello Activity1") }setResult(RESULT_OK, intent)finish()}// 关闭所有 Activityval button3: Button = findViewById(R.id.button3)button3.setOnClickListener {ActivityCollector.finishAll()}val button4: Button = findViewById(R.id.button4)button4.setOnClickListener {startNewActivity(this, MainActivity3::class.java)}val button5: Button = findViewById(R.id.button5)button5.setOnClickListener {startNewActivity(this, MainActivity4::class.java)}val button7: Button = findViewById(R.id.button7)button7.setOnClickListener {startNewActivity(this, FragmentActivity::class.java)}val button8: Button = findViewById(R.id.button8)button8.setOnClickListener {startNewActivity(this, FileStorage::class.java)}val button9: Button = findViewById(R.id.button9)button9.setOnClickListener {startNewActivity(this, DataPreference::class.java)}val button10: Button = findViewById(R.id.button10)button10.setOnClickListener {startNewActivity(this, SqliteDB::class.java)}val button11: Button = findViewById(R.id.button11)button11.setOnClickListener {startNewActivity(this, Design::class.java)}}}

design_layout

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"><androidx.appcompat.widget.Toolbarandroid:id="@+id/toolbar5"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"android:background="?attr/colorPrimary"android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</FrameLayout>

second_layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><androidx.appcompat.widget.Toolbarandroid:id="@+id/toolbar2"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="?attr/colorPrimary"android:minHeight="?attr/actionBarSize"android:theme="?attr/actionBarTheme" /><Buttonandroid:id="@+id/button2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Back" /><Buttonandroid:id="@+id/button3"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Quit App" /><Buttonandroid:id="@+id/button4"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Go third" /><Buttonandroid:id="@+id/button5"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Go forth" /><Buttonandroid:id="@+id/button7"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Go Fragment" /><Buttonandroid:id="@+id/button8"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="File Storage" /><Buttonandroid:id="@+id/button9"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="SharedPreferences" /><Buttonandroid:id="@+id/button10"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="SQLite" /><Buttonandroid:id="@+id/button11"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="design" /></LinearLayout>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1169277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

楼宇自控系统是什么?和其它控制系统到底有什么区别?

楼宇自控系统&#xff08;BAS/BMS&#xff09;&#xff0c;是面向建筑机电系统的综合控制与管理体系&#xff0c;非单一设备&#xff0c;核心控制空调通风、给排水、电力能耗、照明等系统&#xff0c;兼顾安防消防状态联动&#xff0c;以稳定运行、节能优化、集中管理为目标&am…

2026副主任药师考试机构实力榜:三大靠谱选择深度测评与口碑推荐 - 医考机构品牌测评专家

2026副主任药师考试机构实力榜:三大靠谱选择深度测评与口碑推荐备战2026年副主任药师考试,选择一家教学扎实、服务到位、口碑过硬的培训机构,无疑是成功通关的重要一环。面对市场上众多的选择,很多考生都会困惑:“…

【AI编程工具】-TRAE CN v3.3.21 手把手教你玩转全新Skills技能!

【AI编程工具】-TRAE CN v3.3.21 手把手教你玩转全新Skills技能!Posted on 2026-01-16 17:30 Java后端的Ai之路 阅读(0) 评论(0) 收藏 举报🚀 TRAE IDE「技能」功能完全新手教程 欢迎来到 TRAE IDE 的「技能」…

2026年副主任药师考试培训机构深度测评:口碑与实力兼备的选择指南 - 医考机构品牌测评专家

2026年副主任药师考试培训机构深度测评:口碑与实力兼备的选择指南面对日益激烈的卫生高级职称竞争,选择一家高效、靠谱的培训机构已成为副主任药师考生成功“上岸”的关键。市场上的医考机构名目繁多,宣传各异,如何…

救命神器!9款AI论文平台测评:本科生毕业论文救星

救命神器&#xff01;9款AI论文平台测评&#xff1a;本科生毕业论文救星 2026年AI论文平台测评&#xff1a;为何值得一看 随着人工智能技术的不断进步&#xff0c;越来越多的学术工作者开始借助AI工具提升写作效率。对于本科生而言&#xff0c;毕业论文的撰写不仅是学业的重要环…

基于VUE的宁新学校学生宿舍管理信息系统[VUE]-计算机毕业设计源码+LW文档

摘要&#xff1a;学生宿舍管理是学校管理工作的关键环节&#xff0c;传统管理方式效率较低且易出错。本文介绍基于VUE的宁新学校学生宿舍管理信息系统&#xff0c;阐述其采用的技术&#xff0c;深入分析系统在用户管理、宿舍信息管理、学生住宿管理等方面的需求&#xff0c;详细…

实验课速通SQLServer期末考点五:数据库维护

View Post实验课速通SQLServer期末考点五:数据库维护一、实验内容 SQL Server 2017 环境下教学信息管理系统的数据库安全性控制(用户 / 角色 / 权限)与备份恢复实现。 二、实验目的掌握 SQL Server 数据库安全性控制…

spaCy从入门到精通:1.2 安装与环境配置

在开始使用spaCy之前&#xff0c;我们需要先安装spaCy并配置好环境。本节将详细介绍spaCy的安装过程、预训练模型的下载、安装验证以及常见问题的解决方法。 1.2.1 安装spaCy 系统要求 在安装spaCy之前&#xff0c;确保你的系统满足以下要求&#xff1a; Python版本&#xff1a…

2026年音乐放松按摩椅厂家权威推荐榜单:音乐放松椅/体感型音乐放松椅/户外素质拓展箱/团体活动工具箱/活动工具箱源头厂家精选 - 品牌推荐官

在心理健康服务日益普及、康养产业快速发展的背景下,专业机构对心理辅助设备的需求正从基础工具向智能化、综合化、场景化升级。作为心理减压、情绪调节和身心放松的重要工具,音乐放松按摩椅已广泛应用于学校、医院、…

福建卫生高级职称备考机构深度解析 - 医考机构品牌测评专家

福建卫生高级职称备考机构深度解析对于计划备考2026年福建卫生高级职称的考生而言,选择一家与自身需求匹配的培训机构至关重要。福建的考试采用“人机对话”形式,并执行“笔试当年通过,次年评审”的特殊规则,这使得…

【2026最新版】迅雷看看下载安装教程|电脑版详细安装步骤 + 常见问题解决 - PC修复电脑医生

本文提供一篇完整、可复用的 迅雷看看下载安装教程,适用于 Windows 10 / Windows 11 / Windows 7。内容涵盖官方安全下载方式、电脑版安装步骤详解、核心功能解析(边下边播 / RMVB 优化 / 云字幕 / 投屏)、实用快捷…

赣州市全南宁都于都兴国寻乌石城雅思培训辅导机构推荐:2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

基于全网数据调研、学员匿名反馈及行业专家访谈,本次针对赣州市全南、宁都、于都、兴国、寻乌、石城等区县雅思培训需求,开展全面且权威的深度测评,聚焦优质机构、高分提分、实用技巧、性价比等核心维度,梳理靠谱雅…

GEO服务商技术对决:谁能为您的AI搜索可见度保驾护航?

摘要在生成式AI重塑搜索行为的当下&#xff0c;GEO优化&#xff08;生成式引擎优化&#xff09;已成为企业获取AI流量红利、实现精准获客的关键战略。然而&#xff0c;面对市场上技术背景、服务模式各异的服务商&#xff0c;如何选择一位靠谱的“AI导航员”成为B2B决策者的新难…

基于VUE的猫舍小猫管理系统[VUE]-计算机毕业设计源码+LW文档

摘要&#xff1a;随着宠物行业的蓬勃发展&#xff0c;猫舍管理面临着效率与精准度的挑战。本文介绍基于VUE的猫舍小猫管理系统&#xff0c;阐述其采用的技术架构与关键技术&#xff0c;深入分析系统在用户管理、猫舍信息管理、小猫信息管理等方面的需求。详细描述系统的整体架构…

海外碳酸镁实力派:2025年厂家排行与优势分析,市场碳酸镁精选实力品牌榜单发布 - 品牌推荐师

行业背景:碳酸镁市场的全球竞争格局与技术迭代 全球碳酸镁市场正经历结构性变革。随着新能源、电子材料、环保治理等领域的快速发展,高纯度、低杂质、功能化碳酸镁的需求激增。据行业统计,2024年全球碳酸镁市场规模…

1.1 什么是Whisper? | 《Whisper语音识别实战专栏》

引言 语音识别技术是人工智能领域的重要分支&#xff0c;它能够将人类的语音转换为文本&#xff0c;为各种应用提供基础支持。随着深度学习技术的发展&#xff0c;语音识别的准确率和性能不断提升&#xff0c;应用场景也越来越广泛。 2022年9月&#xff0c;OpenAI发布了一款名…

2026陕西保安服务公司TOP5精选推荐榜:秩序维护、门卫守护、临时勤务服务 - 深度智识库

概述:行业新势能,安全新标准 随着城市化进程加速与社会安全需求多元化,陕西保安服务行业正从基础人力保障迈向专业化、智能化、综合化服务新阶段。2026年,行业竞争已从单纯人力部署升级为"技术+管理+服务&quo…

2026年全自动洗车机厂家实力推荐榜:隧道式、往复式、公交大巴及工程类智能洗车设备精选,解析无人值守与扫码洗车技术前沿 - 品牌企业推荐师(官方)

2026年全自动洗车机厂家实力推荐榜:隧道式、往复式、公交大巴及工程类智能洗车设备精选,解析无人值守与扫码洗车技术前沿 随着城市化进程的加速和汽车保有量的持续增长,传统人工洗车模式在效率、成本及环保方面面临…

NopCommerce 4.9.3全栈开发实战 - 4.3 插件生命周期管理

1. 插件生命周期概述 插件生命周期管理是NopCommerce插件系统的核心功能之一&#xff0c;它负责管理插件从发现、安装、启用、运行到禁用、卸载的整个生命周期。了解插件生命周期管理对于开发稳定、可靠的插件至关重要&#xff09; 1.1 生命周期阶段 NopCommerce插件的生命周期…

Java SpringBoot+Vue3+MyBatis 学生宿舍信息系统系统源码|前后端分离+MySQL数据库

摘要 随着高校规模的不断扩大和学生人数的持续增加&#xff0c;传统的学生宿舍管理模式逐渐暴露出效率低下、信息孤岛严重等问题。宿舍管理涉及学生住宿分配、费用收缴、设备报修、访客登记等多方面内容&#xff0c;亟需通过信息化手段提升管理效率和服务质量。学生宿舍信息系统…