当前位置: 首页 > news >正文

Android Studio(项目收获)

取消按钮默认背景色

像按钮默认背景色为深蓝色,即使使用了background属性指定颜色也不能生效。

参考如下的解决方法:

修改/res/values/themes.xml中的指定内容如下:

<style name="Theme.TianziBarbecue" parent="Theme.MaterialComponents.DayNight.NoActionBar.Bridge">

代码方式设置边距

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(0, 16, 0, 16); // 分别为上下左右的外边距
textView.setLayoutParams(layoutParams);

设置控件边框

设置边框步骤:在drawable文件下新建xml文件 >> 设置边框样式 >> 在background属性中引入边框样式

// 1. 设置全边框
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" ><solid android:color="#FFFFFF" /><strokeandroid:width="1dp"android:color="#000000" /><paddingandroid:bottom="0.1dp"android:left="0.5dp"android:right="0.5dp"android:top="0dp" />
</shape>// 2. 设置部分边框
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" ><!-- 连框颜色值 --><item><shape><solid android:color="#000000" /></shape></item><!-- 主体背景颜色值 --><item android:top="1dp">   <!--设置只有底部有边框--><shape><solid android:color="#ffffff" /></shape></item>
</layer-list>// 3. 同时设置边框和背景色
<shape xmlns:android="http://schemas.android.com/apk/res/android"><solid android:color="#FF0000" />  <!-- 设置背景颜色 --><strokeandroid:width="1dp"android:color="#000000" />  <!-- 边框线颜色 -->
</shape>

连接真机(手机)调试

要连接自身的 Android 设备进行测试,需要确保以下步骤已完成:
1. 在 Android 设备上启用开发者选项。
2. 在 Android 设备上启用 USB 调试模式。
3. 使用 USB 电缆将 Android 设备连接到您的计算机,华为手机需要更改USB连接方式为“MIDI”。
4. 在Tools >> Device Manager >> Physical列表找到连接手机并启动即可。

刷新页面

(1) 在Adapter中
dataList.remove(data);
notifyDataSetChanged();
(2) 在Activity中
MyAdapter myAdapter = new MyAdapter(context,data);
listView.setAdapter(MyAdapter); 

水平和竖直可滚动容器

// 水平
<HorizontalScrollView><LinearLayout>在这里添加元素</LinearLayout>
</HorizontalScrollView>// 竖直
<ScrollViewandroid:layout_width="match_parent"android:layout_height="match_parent"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><!-- 在这里动态添加子元素 --></LinearLayout>
</ScrollView>

Spinner设置背景色和数据集

// 1. 在layout下新建custom_spinner_item.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#FF0000"  <!-- 设置背景颜色 -->android:textColor="#000000"   <!-- 设置文本颜色 -->android:padding="8dp"android:textSize="18sp" />// 2. 定义数据集
ArrayList<String> items = new ArrayList<>();
data.add("item1");
data.add("item2");
data.add("item3");// 3. 创建一个 ArrayAdapter,并为Spinner设置自定义的下拉列表项布局
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.custom_spinner_item, items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);// 4. 将ArrayAdapter设置为 Spinner 的适配器
Spinner spinner = findViewById(R.id.spinner);
spinner.setAdapter(adapter);

view.setTag传入多值

问题描述:

    如果使用setTag两次及其以上则会造成前后覆盖,即最终只能获取到一个最终传入值;
解决方法:

    当我们需要传入两个以上的变量值时,可以选择对象封装(创建一个内部类,把需要传的变量封装在该类的属性中),然后我们就可以通过setTag(Object)来达到传入多个值的效果;
不可行方法:

    测试过view.setTag(intKey,value)方式,该方式经过测试出现错误(IllegalArgumentException)不能达到效果

底部弹出窗口页面

BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(ChargeUpActivity.this);
View sheetView = getLayoutInflater().inflate(R.layout.cart,null);
cartList = sheetView.findViewById(R.id.cart_list);
CartAdapter cartAdapter = new CartAdapter(ChargeUpActivity.this, orderItemList);
cartList.setAdapter(cartAdapter);bottomSheetDialog.setContentView(sheetView);// 设置布局参数
FrameLayout bottomSheet = bottomSheetDialog.findViewById(com.google.android.material.R.id.design_bottom_sheet);
CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) bottomSheet.getLayoutParams();
layoutParams.height = 1400; // 设置高度
bottomSheet.setLayoutParams(layoutParams);
// 清除默认动画效果
Window window = bottomSheetDialog.getWindow();
if (window != null) {window.setWindowAnimations(0);
}// 滑动弹窗页面内容不会关闭弹窗,仅点击弹窗外部区域关闭弹窗
bottomSheetDialog.setCancelable(false);
bottomSheetDialog.setCanceledOnTouchOutside(true);bottomSheetDialog.show();

计算字符串表达式

(1) 在build.gradle中引入依赖:
dependencies {
    ...
    implementation 'io.github.jarvisjin:fin-expr:1.0.1'
}
(2) 在java中使用
Expression e = new Expression("345000*0.0157");
BigDecimal result = e.calculate(); // result 5416.5000

fragment报错 

关于androidx.fragment.app.Fragment报xxx that is not a Fragment的问题:

首先去检查你调用该Fragment类的那个activity是否是继承于Activity,如果是,那么恭喜你马上找到解决方案了
1、修改继承类Activity为AppCompatActivity或者FragmentActivity
2、重新编译-部署-成功运行

英语词汇

SDK:Software Development Kit(软件开发工具包)		
AVD:Android Virtual Device(安卓模拟装置)
emulator:模拟器		
Tablet:平板		
Wear OS:穿戴操作系统			
manifest:清单			
alert:警报			
toast:弹框(烤面包)		
gravity:偏向(重力)		
hint:提示
inflate:转化			
intent:意图			  
Explicit:显式 		    
implicit:隐式
transaction:事务		 
revert:恢复			
reassgin:重新分配			
extensible:可展开的		
neutral:中立的			
instantiate:实例化

--------------

后言

 在下一节将介绍项目打包成APK的相关知识

相关文章:

Android Studio(项目收获)

取消按钮默认背景色 像按钮默认背景色为深蓝色&#xff0c;即使使用了background属性指定颜色也不能生效。 参考如下的解决方法&#xff1a; 修改/res/values/themes.xml中的指定内容如下&#xff1a; <style name"Theme.TianziBarbecue" parent"Theme.Mater…...

MQ写满的情况如何处理?

**MQ&#xff08;Message Queue&#xff09;**写满的情况通常指消息队列中的存储空间已经被用尽&#xff0c;无法再接收新的消息。处理MQ写满的情况涉及到多个方面&#xff0c;包括监控、调整配置、增加资源、以及处理积压消息等。下面是一些处理MQ写满的 常见方法&#xff1a;…...

点名(缺失的数字),剑指offer,力扣

目录 我们直接看题解吧&#xff1a; 审题目事例提示&#xff1a; 方法&#xff1a; 解题思路&#xff08;二分法&#xff09;&#xff1a; 代码&#xff1a; 方法二&#xff1a;直接遍历 题目地址 LCR 173. 点名 - 力扣&#xff08;LeetCode&#xff09; 今天刷点名&#xff08…...

云安全—Dashboard 攻击面

0x00 前言 众所周知&#xff0c;如果只是一味的REST接口或者命令行话的操作方式&#xff0c;就会变相的提高操作门款&#xff0c;并且不会有很好的呈现方式&#xff0c;所以就有了web ui的方式&#xff0c;也就是Dashboar面板&#xff0c;本篇主要讨论一下关于Dashboar面板的概…...

FCOS难点记录

FCOS 中有计算 特征图&#xff08;Feature map中的每个特征点到gt_box的左、上、右、下的距离&#xff09; 1、特征点到gt_box框的 左、上、右、下距离计算 x coords[:, 0] # h*w&#xff0c;2 即 第一列y coords[:, 1] l_off x[None, :, None] - gt_boxes[..., 0][:, No…...

java通过FTP跨服务器动态监听读取指定目录下文件数据

背景&#xff1a; 1、文件数据在A服务器&#xff08;windows&#xff09;&#xff08;不定期在指定目录下生成&#xff09;&#xff0c;项目应用部署在B服务器&#xff08;Linux&#xff09;&#xff1b; 2、项目应用在B服务器&#xff0c;监听A服务器指定目录&#xff0c;有新…...

5G边缘计算网关的功能及作用

5G边缘计算网关具有多种功能。 首先&#xff0c;它支持智能云端控制&#xff0c;可以通过5G/4G/WIFI等无线网络将采集的数据直接上云&#xff0c;实现异地远程监测控制、预警通知、报告推送和设备连接等工作。 其次&#xff0c;5G边缘计算网关可以采集各种数据&#xff0c;包…...

阿里云AIGC小说生成【必得京东卡】

任务步骤 此文真实可靠不做虚假宣传&#xff0c;绝对真实&#xff0c;可截图为证。 领取任务 链接&#xff08;复制到wx打开&#xff09;&#xff1a;#小程序://ITKOL/1jw4TX4ZEhykWJd 教程实践 打开函数计算控制台 应用->创建应用->人工智能->通义千问 AI 助手-…...

数据结构之AVL树

map/multimap/set/multiset这几个容器有个共同点是: 其底层都是按照二叉搜索树来实现的,但是普通的二叉搜索树有其自身的缺陷, 假如往树中插入的元素有序或者接近有序, 二叉搜索树就会退化成单支树, 时间复杂度会退化成O(N),因此map、set等关联式容器的底层结构是对二叉树进行了…...

如何用Java实现一个基于机器学习的情感分析系统,用于分析文本中的情感倾向

背景&#xff1a;练习两年半&#xff08;其实是两周半&#xff09;&#xff0c;利用工作闲余时间入门一下机器学习&#xff0c;本文没有完整的可实施的案例&#xff0c;由于知识体系不全面&#xff0c;目前代码只能运行&#xff0c;不能准确的预测 卡点&#xff1a; 1 由于过…...

开发聚合支付的的意义

开发聚合支付的意义在于整合各种支付方式&#xff0c;为消费者和商家提供便捷高效的支付体验&#xff0c;同时满足商家的多元化支付需求&#xff0c;提高支付效率和用户体验。 具体来说&#xff0c;聚合支付具有以下意义&#xff1a; 方便快捷&#xff1a;聚合支付整合了多种…...

ChatGPT生产力|中科院学术ChatGPT优化配置

资源链接&#xff1a;GitHub - binary-husky/gpt_academic b站配置讲解链接&#xff1a;chatgpt-academic 新手运行官方精简指南&#xff08;科研chatgpt拓展&#xff09; 某知配置图文讲解&#xff1a;图文详解&#xff1a;在windows中部署ChatGPT学术版 - 知乎 (zhihu.com) 一…...

语音播报speechSynthesis最简单的例子(亲测有用)

最简单的例子&#xff0c;在chrome上亲测有效&#xff1a; const utterThis new SpeechSynthesisUtterance(我来试试呀); const synth window.speechSynthesis; synth.speak(utterThis);加入配置&#xff0c;可以配置语言、音量、语速、音高&#xff0c;继续玩&#xff1a; …...

呆头鹅-全自动视频混剪,批量剪辑批量剪视频,探店带货系统,精细化顺序混剪,故事影视解说,视频处理大全,精细化顺序混剪,多场景裂变,多视频混剪

视频闪闪-全自动视频混剪&#xff0c;探店带货系统&#xff0c;多视频混剪&#xff0c;让你成为视频处理大师&#xff01; 一、全自动视频混剪 www.shipinshanshan.com 你是否曾经厌烦于冗长的视频剪辑过程&#xff1f;是否曾经为了一个短短的混剪视频而熬夜加班&#xff1f;现…...

牛客竞赛网(爱吃素)

题目描述 牛妹是一个爱吃素的小女孩&#xff0c;所以很多素数都害怕被她吃掉。 一天&#xff0c;两个数字aaa和bbb为了防止被吃掉&#xff0c;决定和彼此相乘在一起&#xff0c;这样被吃掉的风险就会大大降低&#xff0c;但仍有一定的可能被吃掉&#xff0c;请你判断他们相乘后…...

基于高效多分支卷积神经网络的生长点精确检测与生态友好型除草

Eco-friendly weeding through precise detection ofgrowing points via efficient multi-branch convolutional neural networks 摘要1、介绍2、相关工作2.1 杂草检测,高效除草2.2 用于密集预测任务的编解码网络2.3 语义图形是一种有效的标签方法3、总结摘要 在本研究中,我…...

11月9日,每日信息差

今天是2023年11月09日&#xff0c;以下是为您准备的17条信息差 第一、中国电信在进博会上与诺基亚、爱立信、英特尔、戴尔、三星达成采购合作意向。采购范围涵盖无线、数据和传输、固网终端、服务器、CPU、手机终端等设备及服务 第二、马斯克称SpaceX明年将每两天发射一次火箭…...

什么是 eCPM?它与 CPM 有何不同?

目录 eCPM 什么是 eCPM&#xff1f;它与 CPM 有何不同&#xff1f; 如何计算 eCPM&#xff1f; 该指标的主要优势有哪些&#xff1f; eCPM 底价 eCPM 达到多少比较合适&#xff1f; eCPM 每千人有效成本 (eCPM) 是指发行商&#xff08;App 开发者&#xff09;在 App 中每…...

Power Automate-创建和运行

网站&#xff1a;Microsoft Power Automate 根据自己需求选择创建 选择需要的触发方式&#xff0c;以即时云端流为例&#xff0c;点击触发流 点击添加新步骤 可以选择多种微软应用或者自定义应用连接 此处以向SharePoint列表追加项为例&#xff0c;要提前创建好SharePoint列表…...

【STM32 开发】| INA219采集电压、电流值

目录 前言1 原理图2 IIC地址说明3 寄存器地址说明4 开始工作前配置5 程序代码1&#xff09;驱动程序2&#xff09;头文件3) 测试代码 前言 INA219 是一款具备 I2C 或 SMBUS 兼容接口的分流器和功率监测计。该器件监测分流器电压降和总线电源电压&#xff0c;转换次数和滤波选项…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...