自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 资源 (2)
  • 收藏
  • 关注

原创 安卓拓展 MediaPlayer 实现淡入淡出效果

安卓拓展 MediaPlayer 实现淡入淡出效果@Moriafly 未经允许,严禁搬运抄袭在椒盐音乐开发中有需求,播放暂停需要实现淡入淡出效果,就是在暂停时慢慢减弱音量而在播放时缓慢增加音量。MediaPlayer 是 android.meida 下的类,拓展性比不上 ExoPlayer,但是对于这样的淡入淡出效果还是很好实现的。为什么选择拓展 MediaPlayer 而不是在业务代码中拓展嗯?其实还是因为播放器的播放暂停(按照唯一来源设计)应该只有一处实现调用 MediaPlayer 的 sta

2021-07-30 17:08:25 1963 1

原创 PTA C/C++ 哦,该死的deadline!

哦,该死的deadline! (10 分)此刻,在游戏中叱咤风云的你完全没有意识到舍友们已经开始紧张的奋笔疾书了——哦,你居然忘了这周大作业的deadline就到了!快算一下你还剩多少时间!输入格式:输入共两行,均以day hh:mm:ss形式给出一个时间。第一行是deadline时间,第二行是当前时间。输出格式:一行,以hhh:mm:ss形式输出现在距离deadline剩余的时间。小时、分钟、秒数均至少为2位,不足2位以0补齐,小时数有可能达到3位。若deadline已经到了(恰好重合也算),不

2021-06-15 10:27:10 522 1

原创 PTA C++ 输出星号组成的三角形

输出星号组成的三角形 (10 分)从键盘输入一个整数 n,然后输出一个由星号 “ * ” 组成的 n 行的三角形。输入格式:例如:输入 5输出格式:*输入样例:5输出样例: * *** ***** ****************答案#include <iostream>using namespace std;int main() { int a; cin >> a; for (int i = 1; i &l

2021-06-15 09:25:10 8876 1

原创 安卓开发优雅地获取系统导航栏高度

安卓开发优雅地获取系统导航栏高度不要写什么反射系统 View 什么的啦,MIUI 让你头秃。这个适配了,发现那个又没~使用 WindowInsets 获取系统导航栏高度在 Activity 的 onCreate 方法中对根布局使用。// 这里使用了 ViewBindingbinding.root.setOnApplyWindowInsetsListener { _, insets -> // insets.systemWindowInsetBottom 在新 API 30 中被废弃,通过

2021-06-08 11:15:52 1105

原创 Android 开源歌词控件 LyricViewX

Android Kotlin 开源歌词控件 LyricViewX开源地址 Github https://github.com/Moriafly/LyricViewXLyricViewX 是一个美观的安卓歌词控件。基于 LrcView 设计。效果展示 Dso MusicGithub https://github.com/Moriafly/DsoMusic双语拖动单语比较与 LrcView100% Kotlin 代码交互优化,移除过时方法提供 JitPack 库方便使用提供新

2021-01-28 17:34:50 3098 2

原创 C语言 PTA 因子之和通过指针变量间接传回主函数

C语言 PTA 因子之和通过指针变量间接传回主函数因子之和通过指针变量间接传回主函数 (10分)编写一个函数fun,功能是计算给定整数n的所有因子(不包括1和自身)之和,和值通过指针变量间接传回主函数。函数接口定义:void fun(int n,int *m);其中 n 和 m 都是用户传入的参数。函数计算给定整数 n 的所有因子(不包括1和自身)之和,和值通过指针变量 m 间接传回主函数。裁判测试程序样例:#include <stdio.h>void fun(int

2020-12-20 22:02:37 2458 1

原创 Kotlin Native - 原生平台 Hollo World!

Kotlin Native - 原生平台 Hollo World!使用命令行编译器编译 Kotlin Native 应用程序平台:Windows 101. 下载 Koltin Native 编译器地址:https://github.com/JetBrains/kotlin/releases/tag/v1.4.20我这是 Windows 平台,选择 kotlin-native-windows-1.4.20.zip解压后打开:选择 bin 文件夹:这里的 kotlinc-native 就是

2020-12-20 15:03:21 716 3

原创 Android 使用 Lottie 库简单快速地实现漂亮的动画

Android 使用 Lottie 库简单快速地实现漂亮的动画安卓实现动画的方式有很多种,Lottie 库提供了更加简便的方法,资源也更加轻量,很多动画资源就 KB,因为多是 Json 文件。Lottie 是 Airbnb 开发的一款能够为原生应用添加动画效果的开源工具,能够实时渲染 After Effects 动画特效。Github 开源地址:https://github.com/airbnb/lottie-android添加依赖在 app.build.gradle 下添加:dependenc

2020-12-17 09:23:00 2150

原创 Android Kotlin - 监听耳机的插入和拔出

Android Kotlin - 监听耳机的插入和拔出开发音乐应用时需要监听耳机的插入和拔出,用以调整音量或暂停播放。采用注册广播的方式。新建 HeadsetChangeReceiver 类import android.content.BroadcastReceiverimport android.content.Contextimport android.content.Intent/** * 耳机状态接收 */class HeadsetChangeReceiver : Broadc

2020-11-15 20:04:44 988

原创 PTA C 语言 7-1 回文数 (10分)

7-1 回文数 (10分)判断一个5位数是不是回文数。例如12321是一个回文数,即它的个位与万位相同,十位与千位相同。。输入格式:直接输入一个5位数正整数。输出格式:输出“yes”或“no”。此处均为小写字母输入样例:12521输出样例:yes输入样例:65432输出样例:no原创答案#include <stdio.h>int main() { int a[5]; for (int i = 0; i <= 4; i++) {

2020-11-09 14:51:04 4341 1

原创 PTA C 语言 7-13 猴子吃桃问题 (15分)

7-13 猴子吃桃问题 (15分)一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?输入格式:输入在一行中给出正整数N(1<N≤10)。输出格式:在一行中输出第一天共摘了多少个桃子。输入样例:3输出样例:10原创答案#include <stdio.h>int main() { int

2020-11-09 14:29:42 4880

原创 PTA 7-12 打印菱形图案

7-12 打印菱形图案 (15分)本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。输入格式:输入在一行中给出一个正的奇数n。输出格式:输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。输入样例:7输出样例: * * * * * * * * * * * * * * * * * * * * * * * * * 原创答案:#include <stdio.h>int main() {

2020-11-05 21:02:10 13312 9

原创 Glide 返回 Bitmap - Kotlin

Glide 返回 Bitmap - KotlinGlide 版本:4.11.0函数fun load(url: String, success: (Bitmap) -> Unit) { Glide.with(context) // context,可添加到参数中 .asBitmap() .load(url) .into(object : CustomTarget<Bitmap>() { override fun onResourceReady(resource: B

2020-09-24 22:26:56 1179

原创 Android 深色主题适配教程(Kotlin 持续更新)

package // 包名import android.content.Contextimport android.content.res.Configurationimport androidx.appcompat.app.AppCompatDelegate/** * 深色主题工具类 * @author Moriafly * @since 2020//8/20 */object DarkThemeUtil { private const val DATA_NAME = "m

2020-08-28 19:22:35 1611

原创 Android Studio - Kotlin - OkHttp3 报错 Expected Android API level 21+ but was 30

Android Studio - Kotlin - OkHttp3 报错 Expected Android API level 21+ but was 30在 Android 11 虚拟机上报错,在自己的 Android 10 手机上运行正常,当时看到 Expected Android API level 21+ but was 30 都蒙了,支持 21+,这 30 ???Caused by: java.lang.IllegalStateException: Expected Android API l

2020-08-07 08:15:43 3858 2

原创 Android Studio - Kotlin 用代码将内容复制到剪贴板

Android Studio - Kotlin 用代码将内容复制到剪贴板Kotlinval clipboardManager : ClipboardManagerclipboardManager = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManagerval clipData : ClipDataclipData = ClipData.newPlainText("Label", "要复制到剪贴板的字符串")clipboar

2020-07-15 20:04:01 1560 2

原创 Android Studio - 将状态栏设置成白底黑字

Android Studio - 状态栏白底黑字直接设置颜色会变成白底白字,或者透明是灰底白字,而目标是白底黑字且无标题栏刚学,不太会,搞了半天,成功了api v23 以上<?xml version="1.0" encoding="utf-8"?><resources> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize

2020-07-12 17:08:57 1611 1

原创 Android Studio - Kotlin 改变控件字体

Android Studio - Kotlin 改变控件字体如改变 textView 的字体(FontFamily)class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //

2020-07-12 16:54:38 1476

原创 Kotlin - 包的定义与导入

包的声明应处于源⽂件顶部:package my.demoimport kotlin.text.*// …… ⽬录与包的结构⽆需匹配:源代码可以在⽂件系统的任意位置。包源⽂件通常以包声明开头:package org.examplefun printMessage() { /*……*/ }class Message { /*……*/ }// ……源⽂件所有内容(⽆论是类还是函数)都包含在声明的包内。 所以上例中 printMessage() 的全名是org.example.print

2020-07-11 08:54:41 325

原创 Kotlin - 字符串

字符串字符串只是一个字符串序列,包含在双引号中。在 Kotlin 中,字符串由类型表示。它是实践中使用最广泛的数据类型之一。字符串的长度您可以获取访问属性的字符串中的字符数。此属性具有类型的值。length Intval language = "Kotlin"println(language.length) // 6 val empty = ""println(empty.length) // 0访问字符字符串的元素是单个字符,可以通过其索引访问。字符串的第一个元素具有索引 0。va

2020-07-06 22:31:21 1480 2

原创 Android Studio 使用 Ctrl + 鼠标滑轮调整编辑器字体

Android Studio 使用 Ctrl + 鼠标滑轮调整编辑器字体Android Studio 版本:4.0File > Settings > Editor > General勾选 ✔ Change font size (Zoom) with Ctrl+Mouse Wheel

2020-07-04 21:21:13 346

原创 Kotlin - 字符 Char

Kotlin - 字符 Char该类型表示字母(大写和小写)、数字和其他符号。每个字符只是一个符号,包含在单引号中。Charval lowerCaseLetter = 'a'val upperCaseLetter = 'Q'val number = '1'val space = ' 'val dollar = '$'此类型可以表示任何符号,包括象形文字,以及一些特殊符号。也可以使用 Unicode 表中的十六进制代码来创建字符。代码以 开头。\uval ch = '\u0040' //

2020-07-03 19:56:08 1736

原创 Android Studio - 屏幕显示 - 像素单位:px、dp、sp

Android Studio - 屏幕显示 - 像素单位:px、dp、spAndroid 中最常用的像素单位是 px(像素)、dp(安卓中的相对大小)、sp(用于设置字体)。dp与屏幕尺寸有关。一般来说,同样尺寸的屏幕以 dp 计量的分辨率是一样的,如一般手机屏幕分辨率会设置成 360 dp。spsp 原理与 dp 差不多,是专门用于设置字体大小的。手机设置中可以调整字体大小。以 sp 为单位,更改设置中字体大小,并不会改变 dp 的显示。在 XML 布局文件中,为了让不同设备屏幕拥有统一的显

2020-07-03 19:37:24 1717

原创 Kotlin - 布尔类型和逻辑运算

布尔类型Boolean 是一种只有两个可能值的数据类型: true 和 false 。 它也被称为逻辑类型。val t = true // t is trueval f = false // f is false println(t) // trueprintln(f) // false注意,不能将整数值赋给布尔变量。在 Kotlin 中,0 不等于 false 。逻辑运算符布尔类型的变量通常用于构建带有逻辑运算符的逻辑表达式。 Kotlin 有四个逻辑运算符 NOT、 AND、 OR

2020-07-01 22:02:23 2841

原创 Kotlin - 变量 val 和 var

什么是变量变量是一个值的存储空间,这个值可以是一个字符串、一个数字或者其他东西。 每个变量都有一个名称(或标识符)来区别于其他变量。 可以通过变量的名称访问值。变量是程序中最常用的元素之一,因此理解如何使用它们非常重要。声明变量在开始使用变量之前,必须先声明它。要声明变量,Kotlin 提供两个关键字:valval (from value) 声明一个不可变的变量(只是一个命名值或常量),在初始化后不能改变它。这并不完全正确,我们将在后面更详细地讨论。varvar (from variable)

2020-07-01 18:15:51 601

原创 Kotlin - 整数写法

整数在 Kotlin,我们也经常用整数。如果一个整数值包含很多数字,我们可以加上下划线将数字分成块,使这个数字更易读:例如,1_000_000 比写成 1000000 的同一个数字更易读。

2020-07-01 17:23:57 351

原创 Kotlin - 语法糖:一行代码,不必编写函数体

Kotlin - 语法糖:一行代码,不必编写函数体当某函数只有一行代码,可以省去函数体如:fun largerNumber(num1: Int, num2: Int): Int { return max(num1, num2)}可以简写成fun largerNumber(num1: Int, num2: Int): Int = max(num1, num2)Kotlin 有出色的类型推导,可以更近一步省去返回值的类型,写成fun largerNumber(num1: Int, n

2020-06-28 08:06:57 387

原创 VB.NET - 无法处理事件 SelectionChanged 因为它们的签名不兼容问题

VB.NET - 无法处理事件"SelectionChanged",因为它们的签名不兼容问题的解决方法问题描述在引入以下声明出现此问题Imports Syncfusion.Windows.Controls.RichTextBoxAdv解决方法将以下代码' MainListView 为 ListView 控件名称,可改Private Sub MainListView_SelectionChanged(sender As Object, e As SelectionChangedEventArg

2020-06-27 09:02:47 919

原创 Kotlin - when 表达式

when 表达式给定条件,满足什么条件执行什么任务。when 取代了类 C 语言的 switch 操作符。其最简单的形式如下:fun main(args: Array<String>) { val x: Int = 1 when (x) { 1 -> print("x == 1") 2 -> print("x == 2") else -> { // 注意这个块 print("x is

2020-06-23 11:05:01 297

原创 Android Studio 4.0 - Kotlin Anko 库的添加

新建安卓项目(Kotlin)GitHub 上搜索并找到 anko找到使用方法dependencies { implementation "org.jetbrains.anko:anko:$anko_version"}打开 build.gradle找到如下位置添加完成,在这里引用了一个 anko 版本,所以需要在 build.gradle 中声明版本版本号通过 GitHub anko 项目查看添加完成...

2020-06-22 15:40:27 1019

原创 Kotlin - 打印文字,输出 Hello World!

Hello World代码fun main(args:Array<String>) { println("Hello World!")}输出说明fun 表示函数的声明,固定写法Kotlin 应用程序的入口点是 main 函数args 表示参数Array 表示数组String 表示字符串println 向控制台输出...

2020-06-22 12:46:02 1437

原创 Android Studio 4.1 - Kotlin - 简单介绍及创建新项目

Android Studio 学习版本:Android Studio 4.0启动 Android Studio选择 Empty Activity 并点击 Next可选择其他模板配置你的项目Package name 包名表示 apk 文件的名称配置可自定义等待加载创建完成

2020-06-21 15:54:17 1796 5

原创 C++ PTA Tree类的构造函数和成员函数

C++ PTA Tree类的构造函数和成员函数定义一个Tree(树)类,有成员ages(树龄),不带参数的构造函数对ages初始化为1,成员函数grow(int years)对ages加上years,age()显示tree对象的ages的值。Tree类声明如下:class Tree {public: Tree();//构造函数 void grow(int years);//对数龄ages加上years void age();//显示数龄ages的值private:

2020-06-02 13:35:20 1844

原创 C++ PTA 6-4 Point类的声明和实现

C++ PTA 6-4 Point类的声明和实现定义一个Point类,代表平面上的一个点,其横坐标和纵坐标分别用x和y表示,设计Point类的成员函数,实现并测试这个类。 主函数中输入两个点的坐标,计算并输出了两点间的距离。请根据主函数实现Point类。裁判测试程序样例:#include <iostream>#include <iomanip>#include <cmath>using namespace std;//你的代码将被嵌在这里int mai

2020-06-02 06:58:48 3590

原创 C++ PTA 6-3 圆类的定义

C++ PTA 6-3 圆类的定义根据main函数的形式,设计一个圆Circle类,能够求出圆的面积(圆周率取值为3.14159)类定义:class Circle { };测试主函数样例:#include<iostream>#include<cmath>using namespace std;/* 请在这里填写答案 */int main(){ Circle c; double r; cin>>(r);

2020-06-02 06:48:20 5521

原创 C++ PTA 类的声明与成员函数的实现--Car类

C++ PTA 类的声明与成员函数的实现–Car类本题要求根据给定的Car类的声明,实现其成员函数。类和函数接口定义:class Car //定义类Car{ //成员函数public: void disp_welcomemsg(); //显示欢迎信息 int get_wheels(); //返回汽车的车轮数量 void set_wheels(int); //设置汽车的车轮数量 //数据成员private: int m_nWheel

2020-06-01 14:54:10 2104

原创 C++ PTA 使用类计算矩形的面积

C++ PTA 使用类计算矩形的面积定义并实现一个矩形类,有长和宽两个属性,由成员函数计算矩形的面积。矩形类Rectang接口定义如下:class Rectangle {public: void setLength(int l);//设置矩形的长度 void setWidth(int w); //设置矩形的宽度 int getArea(); //计算并返回矩形的面积private: int length, width; //矩形的长度和宽度 };请实现

2020-06-01 14:46:34 4279

原创 C++ PTA 求最大值最小值

C++ PTA 求最大值最小值用指针作函数参数,编程序求一维数组中的最大和最小的元素值。函数接口定义:void maxmin(int arr[ ],int *pt1,int *pt2,int n);其中 arr、 pt1、pt2、n都是用户传入的参数,n为元素个数。函数求指针arr所指向的一维数组中的最大和最小的元素值,并将最大值和最小值存入指针pt1和pt2所指的存储单元中。裁判测试程序样例:#include<stdio.h>#define N 10void maxmin(i

2020-05-31 16:03:45 4611

原创 C++ PTA 引用作函数形参交换两个整数

C++ PTA 引用作函数形参交换两个整数设计一个void类型的函数Swap,该函数有两个引用类型的参数,函数功能为实现两个整数交换的操作。裁判测试程序样例:#include <iostream>using namespace std;/* 请在这里填写答案 */int main(){ int a, b; cin >> a >> b; Swap(a, b); cout << a << " "

2020-05-31 15:57:31 6022

原创 C++ PTA 利用指针找最大值

C++ PTA 利用指针找最大值本题要求实现一个简单函数,找出两个数中的最大值。函数接口定义:void findmax( int *px, int *py, int *pmax );其中px和py是用户传入的两个整数的指针。函数findmax应找出两个指针所指向的整数中的最大值,存放在pmax指向的位置。裁判测试程序样例:#include <stdio.h>void findmax( int *px, int *py, int *pmax );int main(){

2020-05-22 10:32:55 2684

DirrorBattery1.1.0a.zip

源代码!!!【DirrorBattery】VB6 设计的电脑电量读取,电池健康实际容量获取。程序开机自动启动,建议使用环境:Windows 10 深色主题下。

2020-05-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除