首页
统计
壁纸
留言板
友情链接
更多
直播
实用工具
Search
1
浏览器 | 开启Chrome和Edge的多线程下载功能(Parallel downloading)
1,946 阅读
2
给孙小姐的一封情书
544 阅读
3
OpenWRT | 作为 旁路由/单臂路由/透明网关 设置 DDNS
323 阅读
4
LabVIEW | 各版本及开发工具模块下载
319 阅读
5
armUbuntu系统构建
297 阅读
取次花丛懒回顾
默认分类
C#
MySQL
LabVIEW
Java
Android
PHP
Python
handsome
相册
百度地图
嵌入式
嵌入式Ubuntu
I.MX6ULL
linux
Unity
Golang
Rust
OpenHD
教学计划
Search
标签搜索
C#
handsome
Git
动态壁纸
开源
Unity3d
Unity
csharp
Moao
累计撰写
185
篇文章
累计收到
28
条评论
首页
栏目
取次花丛懒回顾
默认分类
C#
MySQL
LabVIEW
Java
Android
PHP
Python
handsome
相册
百度地图
嵌入式
嵌入式Ubuntu
I.MX6ULL
linux
Unity
Golang
Rust
OpenHD
教学计划
页面
统计
壁纸
留言板
友情链接
直播
实用工具
搜索到
185
篇与
的结果
2024-06-26
Android | 等待控件渲染完毕执行操作
以 ImageView 控件为例xml: <ImageView android:id="@+id/iv_canvas" android:background="@color/black" android:layout_width="match_parent" android:layout_height="match_parent"/>java: ImageView iv_canvas; iv_canvas = findViewById(R.id.iv_canvas); iv_canvas.post(()->{ // 获取当前画布宽高 double width = iv_canvas.getWidth(); double height = iv_canvas.getHeight(); showMsg("当前画布X" + width); showMsg("当前画布Y" + height); });
2024年06月26日
52 阅读
0 评论
0 点赞
2024-06-26
Android | canvas 画图
自定义 View 也可以,这里提供一个简单的思路准备工作1. 添加一个 ImageView<ImageView android:id="@+id/iv_canvas" android:background="@color/black" android:layout_width="match_parent" android:layout_height="match_parent"/>2. 绑定视图iv_canvas = findViewById(R.id.iv_canvas);准备完成,开始画图画图最外层申请三个 private Bitmap baseBitmap; private Canvas canvas; private Paint paint;然后使用 // 初始化一个画笔,笔触宽度为5,颜色为红色 paint = new Paint(); paint.setStrokeWidth(5); paint.setColor(Color.RED); // 第一次绘图初始化内存图片,指定背景为白色 if (baseBitmap == null) { baseBitmap = Bitmap.createBitmap(iv_canvas.getWidth(), iv_canvas.getHeight(), Bitmap.Config.ARGB_8888); canvas = new Canvas(baseBitmap); canvas.drawColor(Color.WHITE); } canvas.drawText("画圆:", 10, 20, paint);// 画文本 canvas.drawCircle(60, 20, 10, paint);// 小圆 paint.setAntiAlias(true);// 设置画笔的锯齿效果。 true是去除,大家一看效果就明白了 canvas.drawCircle(120, 20, 20, paint);// 大圆 canvas.drawCircle(120, 20, 20, paint);// 大圆 canvas.drawLine(200, 200, 500, 500, paint);// 直线 iv_canvas.setImageBitmap(baseBitmap); showMsg(iv_canvas.getHeight() + ", " + iv_canvas.getWidth());
2024年06月26日
78 阅读
0 评论
0 点赞
2024-06-26
Android | 允许 http 请求 允许应用程序使用Http明文网络传输
在res/xml目录下新建xml文件,命名network_config.xml<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted = "true"> <trust-anchors> <certificates src="system"/> </trust-anchors> </base-config> </network-security-config>修改Manifest文件以启动刚才创建的配置文件: <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.NetUtils" android:networkSecurityConfig="@xml/network_config" tools:targetApi="31">划重点:android:networkSecurityConfig="@xml/network_config"
2024年06月26日
135 阅读
0 评论
0 点赞
2024-06-26
Android | Activity 启动 跳转 传值
启动 Activity不带参数 // 第一个参数是当前Activity 第二个参数是要启动的Activity Intent intent = new Intent(MenuActivity.this,MainActivity.class); startActivity(intent);带参数 Intent intent = new Intent(MainActivity.this, SecondActivity.class); // 可传递多个键值对形式的数据 intent.putExtra("key","啊吧啊吧啊吧"); intent.putExtra("key1","啊吧"); startActivity(intent);接受传递的值 String valueString = (String)getIntent().getExtras().get("key"); String valueString1 = (String)getIntent().getExtras().get("key1"); Toast.makeText(SecondActivity.this,"获取到的第一个参数为:"+valueString+"第二个参数为:"+valueString1,Toast.LENGTH_LONG).show();关闭当前 Activity finish();
2024年06月26日
123 阅读
0 评论
0 点赞
2024-06-26
Android | View Binding viewbinding 绑定视图用法
intro视图绑定 | Android 开发者 | Android Developers通过视图绑定功能,您可以更轻松地编写可与视图交互的代码。在模块中启用视图绑定之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。在大多数情况下,视图绑定会替代 findViewById。设置说明注意:视图绑定在 Android Studio 3.6 Canary 11 及更高版本中可用。使用viewbinding的原因!配置在需要使用的Module的build.gradle里添加如下代码android { viewBinding { enabled = true } …… }用法在Activity的类下声明private ActivityMainBinding binding;在onCreate方法中调用inflate并赋值binding = ActivityMainBinding.inflate(getLayoutInflater());替换原来的R.layout.activity_main为binding.getRoot()注意:ActivityMainBinding名称会随Activity名称的变化而变化,自行观察public class MainActivity extends AppCompatActivity { private ActivityMainBinding binding; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ActivityMainBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); } }在需要操作控件时,只需binding.控件名称即可
2024年06月26日
113 阅读
0 评论
0 点赞
1
...
17
18
19
...
37