Android学习总结
wh8876
这个作者很懒,什么都没留下…
展开
-
Android 在build.gradle文件中读取json文件
1、在build.gradle中加入读取1.json文件代码,放在android{}外面 String str = "" try { File file = new File("${project.rootDir}/1.json") Reader reader = new InputStreamReader(new FileInputStream(file), "UTF-8") int ch = 0 StringBuilder原创 2022-03-18 18:26:19 · 1422 阅读 · 0 评论 -
Glide 4.12.0 给默认图加圆角
RequestOptions options = new RequestOptions() .placeholder(drawable) .error(drawable) .transform(new CenterCrop(), new RoundedCorners(15));Glide.with(getContext()).load(url) .thumbnail(loadTransform(getCon原创 2021-12-21 16:27:34 · 745 阅读 · 0 评论 -
Android string.xml中定义的string 引用另一个string
在strings.xml文件的resources标签前,加上<!DOCTYPE resources [<!ENTITY appname "测试">]>引用时通过 &appname<string name="app_name">&appname;</string>原创 2021-11-30 17:44:56 · 2966 阅读 · 0 评论 -
webview中打开a标签 <a href=““ target=“_blank“></a>
webview设置setSupportMultipleWindows(true)a标签的 target 属性target有4个属性:_blank浏览器总在一个新打开、未命名的窗口中载入目标文档。_self这个目标的值对所有没有指定目标的 a 标签是默认目标,它使得目标文档载入并显示在相同的框架或者窗口中作为源文档。这个目标是多余且不必要的,除非和文档标题 base 标签中的 target 属性一起使用。_parent这个目标使得文档载入父窗口或者包含来超链接引用的框架的框架集。如果这个引用是原创 2021-10-21 11:46:08 · 8659 阅读 · 0 评论 -
android EditText限制小数点2位
EditText要加属性 android:inputType=“numberDecimal” android:inputType="numberDecimal"txt.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {原创 2021-09-09 17:31:20 · 382 阅读 · 0 评论 -
Android Activity重启
Intent intent = getIntent();overridePendingTransition(0, 0);intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);finish();overridePendingTransition(0, 0);startActivity(intent);原创 2021-08-03 10:50:10 · 856 阅读 · 0 评论 -
Android room Migration didn‘t properly handle
room迁移报错原来数据库中有一张表,又新建一张表,然后room迁移报错Android room Migration didn’t properly handle:Expected TableInfo columns={不是空} Found TableInfocolumns={空}一开始这里我没写修改内容会报上面的错static final Migration MIGRATION_3_4 = new Migration(3, 4) { @Override p原创 2021-07-24 11:51:54 · 1204 阅读 · 2 评论 -
Android通过getDimensionPixelSize在代码中设置字体大小
1、定义需要的TextSize的style<style name="Text_Normal" parent="Theme"> <item name="common_text_size">16sp</item></style><style name="Text_Small" parent="Theme"> <item name="common_text_size">12sp</item><原创 2021-07-15 15:47:32 · 443 阅读 · 0 评论 -
Android RecyclerView adapter调用notifyDataSetChanged()滚动
需要在item布局中加 android:descendantFocusability="blocksDescendants"原创 2021-06-30 11:57:03 · 309 阅读 · 0 评论 -
android bitmap与byte转换
bitmap->byte创建一个ByteBuffer用于接收数据。首先需要为ByteBuffer开辟内存空间,内存空间的大小就是图片的大小。将bitmap的数据写入ByteBuffer,然后调用ByteBuffer的 array() 方法得到byte。int bytes = bmp.getByteCount();ByteBuffer buf = ByteBuffer.allocate(bytes);bmp.copyPixelsToBuffer(buf);byte[] byteArray原创 2021-05-27 17:21:40 · 3534 阅读 · 1 评论 -
android shape绘制半圆
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <size android:width="20dp" android:height="10dp" /> <solid android:color="原创 2021-05-27 11:37:01 · 1326 阅读 · 0 评论 -
android 代码修改shape填充颜色
GradientDrawable background = (GradientDrawable) txt.getBackground();background.setColor(Color.BLUE);原创 2021-05-21 11:16:29 · 334 阅读 · 0 评论 -
Android 在oncreate()中 调用线程设置TextView文本 不崩溃
非UI线程下更新view会崩溃android.view.ViewRootImpl$CalledFromWrongThreadException: Only theoriginal thread that created a view hierarchy can touch its viewsprivate TextView txtContent;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {原创 2021-05-18 16:16:00 · 325 阅读 · 1 评论 -
android viewpager2禁止滑动
viewPager.setUserInputEnabled(false);原创 2021-05-11 16:19:04 · 1820 阅读 · 0 评论 -
android9访问网络配置
1、添加网络权限<uses-permission android:name="android.permission.INTERNET" />2、在res下新建xml目录,在xml下新建 network_security_config.xml<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cleartextTrafficPermitted="原创 2020-09-14 17:25:10 · 489 阅读 · 0 评论 -
android10读取文件报错open failed: EACCES (Permission denied)
1、允许权限<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />2、在AndroidManifest.xml中 application上添加android:requestLegacyExternalStorage="true"原创 2020-09-14 17:20:51 · 945 阅读 · 0 评论 -
androidstudio 抓取日志
adb logcat -v time -> log.txt原创 2020-07-02 18:27:58 · 1697 阅读 · 0 评论 -
Android中Canvas绘图之PorterDuffXfermode
1.PorterDuff.Mode.CLEAR 所绘制不会提交到画布上。2.PorterDuff.Mode.SRC 显示上层绘制图片3.PorterDuff.Mode.DST 显示下层绘制图片4.PorterDuff.Mode.SRC_OVER 正常绘制显示,上下层绘制叠盖。5.PorterDuff.Mode.DST_OVER 上下层都显示。下层居上显示。6.PorterDuff.Mode.SRC_IN 取两层绘制交集。显示上层。7.PorterDuff.Mode.DST_IN 取两层绘制交集.原创 2020-06-01 18:07:54 · 258 阅读 · 0 评论 -
android迁移项目到androidx,修改依赖库
独立的 Jetifier 工具可将依赖于支持库的库迁移为依赖于等效的 AndroidX 软件包。该工具可让您直接迁移单个库,而无需使用 Android Studio 附带的 Android Gradle 插件。**注意:在开始迁移之前,您应更新库以使用支持库的 28.0.0 版。**Jetifier 支持 JAR、AAR 和 ZIP 文件,包括嵌套归档。jetifier-standalone -i <source-library> -o <output-library>原创 2020-05-21 20:49:06 · 388 阅读 · 0 评论 -
Android绘制换行文本StaticLayout
## 自定义view在onDraw中绘制@Overrideprotected void onDraw(Canvas canvas) { super.onDraw(canvas); TextPaint paint = new TextPaint(); paint.setColor(Color.RED); paint.setTextSize(60); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODE.原创 2020-05-09 11:07:42 · 489 阅读 · 0 评论 -
Android保存bitmap到本地
private void saveBitmap(Bitmap bitmap){ File file = new File(Environment.getExternalStorageDirectory() + "/test.png"); if (!file.exists()) { try { file.createNewFile(); } catch (I...原创 2020-04-24 16:17:50 · 886 阅读 · 0 评论 -
Android 合成本地图片
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.bg_main);Bitmap afterBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(),bitmap.getConfig());Canvas canvas = new...原创 2020-04-24 16:13:32 · 157 阅读 · 0 评论 -
Android10 读取文件open failed: EACCES (Permission denied)
在AndroidManifest.xml添加一句:android:requestLegacyExternalStorage="true"原创 2020-04-16 16:33:18 · 1481 阅读 · 3 评论 -
Android webview访问本地地址
webview.loadUrl(" file:///android_asset/index.html ");原创 2020-04-15 17:48:18 · 964 阅读 · 0 评论 -
Android获取文件的MIME类型
String type = null;//使用系统API,获取URL路径中文件的后缀名(扩展名)String extension = MimeTypeMap.getFileExtensionFromUrl(url);if (!TextUtils.isEmpty(extension)) { //使用系统API,获取MimeTypeMap的单例实例,然后调用其内部方法获取文件后缀名(扩展名)...原创 2020-04-07 10:33:04 · 1062 阅读 · 0 评论 -
Android 中 webview加载vue中滑动与viewpager冲突
Android 中 webview加载vue中滑动与viewpager冲突重写webview 的onOverScrolled和onTouchEvent方法public class MyWebview extends WebView { public MyWebview(Context context, AttributeSet attrs) { super(conte...原创 2020-03-31 16:42:59 · 405 阅读 · 0 评论