Android Studio开发之路(六)(合集)界面优化以及启动图标等

news2024/9/20 20:24:03

一、导航栏背景、字体修改

导航栏、状态栏等背景颜色的修改一般是在themes.xml文件中修改,android一个activity各个部件参考:
colorPrimary,colorPrimaryDark等的意义
添加链接描述

但是问题在于:只在这里修改背景颜色的话,可能会出现背景色和字体颜色重合导致看不清字,所以最好是背景色和字体色一起改,参考:
导航栏设置颜色字体

白底黑字

二、标题栏

(1)android提供的标题栏

android 提供的原装标题栏(ActionBar)可以通过以下步骤打开,并添加返回按钮
1、在themes.xml文件中有.NoActionBar, 将它删掉,状态栏就会出现了

这里是引用

2.修改标题

AndroidManifest.xml 文件的 < activity>中 增加 android:lable=“标题文字”

  1. 在onCreate()函数中添加下面的代码,用于识别标题栏并添加返回按钮
 //标题栏
        ActionBar actionBar = getSupportActionBar();
        if(actionBar!=null){
            Toast.makeText(this,"not null!1",Toast.LENGTH_SHORT).show();
            // actionBar.hide();   //隐藏标题栏
            actionBar.setHomeButtonEnabled(true);
            actionBar.setDisplayHomeAsUpEnabled(true);  //添加返回的图标
        }

  1. 添加返回响应函数
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case android.R.id.home :
                Intent intent = new Intent(NewsActivity.this,MainActivity.class);
                startActivity(intent);
                finish();
                break;

            default:
                break;
        }

        return super.onOptionsItemSelected(item);

    }

(2)自定义标题栏

android提供的ActionBar文字偏左,想要居中,于是自定义一个标题栏。参考:
自定义标题栏

三、activity之间的跳转

1. 通过Intent实现跳转,可加参数

 Intent intent=new Intent(MainActivity.this,VerifyWatermark.class);
     //   String timename=timeStamp+".jpg";
    //    intent.putExtra("filename",fileName);
    //    intent.putExtra("Timename",timename);
        startActivity(intent);
        finish();

2. finish()

使用fininsh(),当activity跳转,当前activity就会结束。
finish的使用

四、drawable与图片尺寸

安卓手机型号繁多,为了适配多种机型,同一个图片需要不同的尺寸,于是在drawable中定义不同尺寸的文件夹,存放对应的图片,系统就会自动寻找适合的尺寸。
参考:
创建不同尺寸文件夹

五、启动图标和app名

1. 设置的位置

android:icon 和android:label分别设置图标和名字

这里是引用

2. 图标

图标同样需要不同的尺寸和形状以满足需要,android studio提供一个 image asset图标生成器帮助制作图标,制作好的图标自动存放到maimap路径下。
参考:
图标生成器的使用
制作自定义图标

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

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

相关文章

人工智能的发展之路:时间节点、问题与解决办法的全景解析

导言 人工智能的发展历程充满了里程碑式的事件&#xff0c;从早期的概念到今天的广泛应用&#xff0c;每个时间节点都伴随着独特的挑战和创新。本文将详细描述每个关键时间节点的事件&#xff0c;探讨存在的问题、解决办法&#xff0c;以及不同阶段之间的联系。 1. 195…

[学习笔记]SQL Server中批量查找所有符合Where条件的记录

目标&#xff1a;在SQL Server中查找所有表的UserId 50的记录 创建一个表变量来存储所有包含’UserId’列的表的名称。然后使用一个游标遍历这些表&#xff0c;并对每个表执行一个动态SQL查询 DECLARE TableName nvarchar(256), ColumnName nvarchar(128), SearchStr2 nvarc…

如何在公网环境使用固定域名远程访问内网BUG管理系统协同办公

文章目录 前言1. 本地安装配置BUG管理系统2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射本地服务3. 测试公网远程访问4. 配置固定二级子域名4.1 保留一个二级子域名5.1 配置二级子域名6. 使用固定二级子域名远程 前言 BUG管理软件,作为软件测试工程师的必备工具之一。在…

【大模型实践】Langchain-Chatchat构建对话模型(二)

本文介绍如何使用Langchain-Chatchat构建论文知识库和文件对话。 关于Langchain-Chatchat&#xff1a; &#x1f916;️ 一种利用 langchain 思想实现的基于本地知识库的问答应用&#xff0c;目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。 …

基于vue-cli快速发布vue npm 包

一、编写组件 1. 初始化项目并运行 vue create vue-digital-countnpm run serve2. 组件封装 新建package文件夹 ​ 因为我们可能会封装多个组件&#xff0c;所以在src下面新建一个package文件夹用来存放所有需要上传的组件。 ​ 当然&#xff0c;如果只有一个组件&#xff…

云原生系列2-CICD持续集成部署-GitLab和Jenkins

1、CICD持续集成部署 传统软件开发流程&#xff1a; 1、项目经理分配模块开发任务给开发人员&#xff08;项目经理-开发&#xff09; 2、每个模块单独开发完毕&#xff08;开发&#xff09;&#xff0c;单元测试&#xff08;测试&#xff09; 3、开发完毕后&#xff0c;集成部…

【人生苦短,我学 Python】(9)分支判断和循环

目录 简述 / 前言1. 顺序结构2. 选择结构2.1 单分支2.2 双分支2.3 多分支 3. 循环结构3.1 for 循环3.1.1 range() 3.2 while 循环3.2.1 break 语句3.2.1 continue 语句 3.3 死循环 4. enumerate 函数5. zip 函数文章传送门 简述 / 前言 前面讲了输入、输出和文件的读写&#x…

【UML】第5篇 UML中的视图和图

目录 一、视图和图 二、图的种类 2.1 结构图 2.2 行为图 图是UML中最重要的概念了&#xff0c;起码我是这么认为。 上篇关于低代码的文章&#xff0c;我也说了&#xff0c;未来也许AI编码&#xff0c;我们更重要的工作&#xff0c;是能够为业务进行建模&#xff0c;拆解&a…

【51单片机系列】C51中的中断系统扩展实验

本文是关于51单片机中断系统的扩展实验。 文章目录 一、 扩展实验一&#xff1a;使用外部中断0控制蜂鸣器&#xff0c;外部中断1控制直流电机二、扩展实验二&#xff1a;修改定时器初值&#xff0c;设定3秒钟的定时时间让LED模块闪烁三、扩展实验三&#xff1a;使用定时器1和数…

KBP310-ASEMI适配高端电源KBP310

编辑&#xff1a;ll KBP310-ASEMI适配高端电源KBP310 型号&#xff1a;KBP310 品牌&#xff1a;ASEMI 封装&#xff1a;KBP-4 最大平均正向电流&#xff1a;3A 最大重复峰值反向电压&#xff1a;1000V 产品引线数量&#xff1a;4 产品内部芯片个数&#xff1a;4 产品内…

哈希算法专栏二《力扣题目练习》

引言 在了解了哈希表的基础理论之后&#xff0c;我们就可以开始进行刷题实战了。下面是我在力扣上找的一些题目&#xff0c;认真刷完并理解下面的题目&#xff0c;相信读者至少可以初步掌握哈希算法的思想了。 LeetCode242有效的字母异位词 242. 有效的字母异位词 已解答 简…

智能化安防与监控:全球发展、挑战与未来趋势

导言 智能化安防与监控系统在全球范围内得到广泛应用&#xff0c;成为社会安全和公共管理的重要工具。本文将深入研究其发展历程、遇到的问题及解决过程、未来的可用范围&#xff0c;以及在各国的应用和未来的研究趋势&#xff0c;以探讨在哪些方面能取胜&#xff0c;并在哪些方…

简易实现 STL--list

实现 list 的主要思想及过程 首先&#xff0c;实现过程中的所有代码必须放在自己定义的命名空间中。 定义一个结点的结构体类模板&#xff0c;结点的数据类型就应该是模板类型 T&#xff0c;定义的 next指针和 prev指针都应该是模板指针类型&#xff0c;并且结构体类中药有构…

git的使用思维导图

源文件在github主页&#xff1a;study_collection/cpp学习/git at main stu-yzZ/study_collection (github.com)

力扣:77. 组合(回溯, path[:]的作用)

题目&#xff1a; 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ] 示例 2&#xff1a; 输入&…

MS5541/MS5542,高精度DAC,2.7V 到 5.5V、串行输入、电压输出、16 位数模转换器,可替代AD5541

MS5541/MS5542 是一款单通道、 16 位、串行输入、电压 输出的数模转换器&#xff0c;采用 2.7V 至 5.5V 单电源供电&#xff0c;输出范围 为 0V 至 V REF 。在输出范围内保证单调性&#xff0c;在温度范围为 -40 C 至 85 C 能够提供 1LSB INL 的 14 位精度。…

pycharm git 版本回退

参考 https://blog.csdn.net/qq_38175912/article/details/102860195 yoyoketang 悠悠课堂

PLC物联网,实现工厂设备数据采集

随着工业4.0时代的到来&#xff0c;物联网技术在工厂设备管理领域的应用日益普及。作为物联网技术的重要一环&#xff0c;PLC物联网为工厂设备数据采集带来了前所未有的便捷和高效。本文将围绕“PLC物联网&#xff0c;实现工厂设备数据采集”这一主题&#xff0c;探讨PLC物联网…

合并一个excel文件中的多个sheet

import pandas as pd #要合并的文件路径 filepath/Users/kangyongqing/Documents/kangyq/202311/班均及合班储备/最后校验/二批次组班/ file1z小班合班方案_2012&#xff08;1&#xff09;.xlsx #获取文件d的所有sheet名 df1pd.read_excel(filepathfile1,sheet_nameNone,engine…

Graylog配置日志保留策略

找了半天没找到说的清楚的&#xff0c;只能抠官方文档 graylog的归档&#xff08;日志持久化&#xff09;只有付费版才能用&#xff0c;所以日志只能存在es中 1.理解官方给出的几个概念 轮转策略 (Index Rotation Strategy): 轮转策略定义了何时创建新的索引以及何时关闭旧的索…