![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android
android app开发
ll_j_21
java小白
展开
-
RecycleView闪屏问题(java和ktolin解决)
2.配置adapter属性(在给recyclerView设置adapter之前设置才有效果)。2.配置adapter属性(在给recyclerView设置adapter之前设置才有效果)。问题案例:图库搜索界面点击空格,图片会闪烁两次显示 复现概率。1.在adapter中重写getItemId()原创 2023-07-16 02:34:21 · 374 阅读 · 0 评论 -
如何适配阿拉伯语:
还有一种办法就是,在res文件夹里面新建layout-ldrtl(从右到左会走这个layout)和layout-ar(阿拉伯语时会走这个layout)在这两个文件夹里面写之前的布局就好拉。这里我们需要准备好水平翻转的图片放在res/drawable-ldrtl/下面就可以拉。5.不需要进行翻转 我们需要在布局的XML文件中写android:layoutDirection=“ltr”即可。问题根因解决:不需要进行翻转 在布局的XML文件中写android:layoutDirection=“ltr”原创 2023-07-16 02:25:43 · 721 阅读 · 0 评论 -
Launcher3---Hotseat 应用图标
1.显示 Hotseat 应用图标名称。Launcher3\src\com\android\launcher3\CellLayout.java2.显示 Hotseat 区域文件夹图标名称。Launcher3\src\com\android\launcher3\WorkspaceLayoutManager.java3.设置默认文件夹名称packages/apps/Launcher3/src/com/android/launcher3/folder/FolderIcon4.调整 Hotseat 图标原创 2022-06-11 22:07:17 · 983 阅读 · 0 评论 -
Android去除WiFi版本的短信,联系人,电话应用。
application原创 2022-06-06 22:15:07 · 327 阅读 · 0 评论 -
Launcher---图标预置
Launcher原创 2022-06-06 22:04:41 · 1098 阅读 · 0 评论 -
打开google search,从taskbar拖拽全屏应用比如Google进入分屏,页面出现Launcher报错
java.lang.SecurityException: Attempt to launch activity without category Intent.CATEGORY_LAUNCHER ComponentInfo{com.google.android.googlequicksearchbox/com.google.android.googlequicksearchbox.MainInfoGatewayInternal}原创 2022-08-25 00:05:12 · 737 阅读 · 0 评论 -
Android 桌面微件在第一次开机后延迟显示
桌面widget加载慢原创 2022-11-09 20:11:21 · 657 阅读 · 1 评论 -
Lacuncher3---修改文件夹图标和修改桌面布置
1.修改Launcher待机界面文件夹图标的大小和app的图标保持一致源码路径:packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java修改代码: befor: // Folder icon folderIconSizePx = IconNormalizer.getNormalizedCircleSize(iconSizePx); After: // Folde原创 2022-05-28 02:04:56 · 1238 阅读 · 0 评论 -
如何获取recovery模式的log
第一种:recovery下,遥控器选择view recovery logs,界面上查看。第二种:recovery下,输入命令,cat /tmp/recovery.log第三种:android下,输入命令,cat /cache/recovery/last_log原创 2022-05-03 20:54:55 · 3300 阅读 · 0 评论 -
修改Launcher3界面图标名称双行显示
launcher原创 2022-06-09 09:25:18 · 286 阅读 · 0 评论 -
在launcher中隐藏app图标
在launcher中隐藏app图标。原创 2022-08-14 23:36:22 · 354 阅读 · 0 评论 -
修改默认壁纸
修改系统默认壁纸路径:/framework/base/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.png替换default_wallpaper.png原创 2022-06-14 22:59:03 · 114 阅读 · 0 评论 -
在java代码中判断当前国家码&&遍历Switchpreferencer开关进行展示
通过属性值进行国家码的判断原创 2022-07-31 22:05:20 · 434 阅读 · 0 评论 -
再按一次退出程序
public class MainActivity extends AppCompatActivity { private long currentTime = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }原创 2021-06-29 09:42:11 · 142 阅读 · 0 评论 -
解决android线性布局中引入图片资源后修改图片大小的方法
在做登录界面的时候,在EditView中引用图片后,图片过大导致显示异常难看。如何将这个图片调整和右边的搜索框一样大小呢?以下是他的XML文件代码<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"原创 2021-06-17 14:59:50 · 1355 阅读 · 0 评论 -
引入布局,创建自定义布局
引入布局新建一个布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"android:ba原创 2021-01-07 12:58:47 · 221 阅读 · 0 评论 -
基本布局----AbsoluteLayout(绝对布局)
由开发人员控制,通过坐标来定位。每个子组件都可以通过layout_x和layout_y来指定X,Y坐标。登录界面:<?xml version="1.0" encoding="utf-8"?><AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="h原创 2021-01-07 11:06:06 · 1106 阅读 · 0 评论 -
基本布局-----GridLayout(网格布局)
将整个容器划分为rows×columns个网格,每个网格可以放一个组件,也可以设置一个组件横跨多少列,纵跨多少行。实例:计算器<?xml version="1.0" encoding="utf-8"?><GridLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools=原创 2021-01-07 11:26:24 · 800 阅读 · 0 评论 -
基本布局----RelativeLayout(相对布局)
通过相对定位的方式让控件出现在布局的任何位置相对于父布局:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/to原创 2021-01-07 09:58:51 · 1291 阅读 · 0 评论 -
基本布局-----FrameLayout(帧布局)
没有方便的定位方式,所有控件都会默认的摆放在布局的左上角。<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"原创 2021-01-06 16:20:51 · 236 阅读 · 0 评论 -
基本布局------TableLayout(表格布局)
TableLayout继承了LinearLayout,完全支持LinearLayout所有属性。他的本质依然是线性布局,通过行列来控制。TableRow就是一行,直接向TableLayout添加组件,那么这个组件将直接占用一行。列的宽度该列中最宽的决定。每添加一个组件就增加一列单元格设置:Shrinkable:某个列被设置为这个的话,那么该列的所有单元格的宽度可以被收缩,以保证该表格能适应父容器的宽度。Stretchable:某个列被设置为这个的话,那么该列的所有单元格的宽度可以被拉伸,以保证组件原创 2021-01-06 15:15:39 · 567 阅读 · 0 评论 -
基本布局---LinearLayout线性布局
线性布局原创 2021-01-06 11:59:00 · 270 阅读 · 0 评论 -
常用控件----ProgressDialog
ProgressDialog和AlertDialog类似,都可以在界面上弹出一个对话框,都能够屏蔽掉其他控件的交互能力。不同的是,ProgressDialog会在对话框中显示一个进度条,一般表示当前操作比较耗时,请用户耐心等待。package com.example.textviewactivity;import androidx.appcompat.app.AlertDialog;import androidx.appcompat.app.AppCompatActivity;import an原创 2021-01-05 16:27:16 · 122 阅读 · 0 评论 -
常用控件-----AlertDialog
AlertDialog可以在当前页面弹出一个对话框,这个对话框置顶于所有界面元素之上,能够屏蔽掉其他控件的交互能力,因此AlertDialog一般都是用于提示一些非常重要的内容或者是警告信息。package com.example.textviewactivity;import androidx.appcompat.app.AlertDialog;import androidx.appcompat.app.AppCompatActivity;import android.content.Dial原创 2021-01-05 16:15:08 · 174 阅读 · 0 评论 -
常用控件----ProgressBar
ProgressBar用于在界面上显示一个进度条,表示我们的数据正在加载一些数据; <ProgressBar android:id="@+id/progress_bar" android:layout_width="match_parent" android:layout_height="wrap_content"/>Android控件的可见属性,通过android:visibility进行指定。可选值有三种:visible,i原创 2021-01-05 15:48:41 · 400 阅读 · 0 评论 -
常用控件-----ImageView
ImageView是用于在界面上展示图片的一个控件,放在以drawable开头的目录下。 <ImageView android:id="@+id/image_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/img_1"/>动态更改图片package com.原创 2021-01-05 14:16:30 · 322 阅读 · 0 评论 -
常用控件----EditText
EditText是程序用于和用户进行交互的另一个重要控件,他允许用户在控件里面输入和编辑内容,并可以在程序中对这些内容进行处理。 <EditText android:id="@+id/edit_text" android:layout_width="match_parent" android:layout_height="wrap_content"/>显示提示性文字 android:hint="在此输入"<EditText原创 2021-01-05 11:54:22 · 251 阅读 · 1 评论 -
常用控件----Button
<Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAllCaps="false" android:text="Button" />默认按钮(Button)里面文字字母自动进行大写转换,通过android:textAllCaps=原创 2021-01-05 11:08:46 · 83 阅读 · 0 评论 -
常用控件----TextView
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <Tex原创 2021-01-05 10:49:11 · 114 阅读 · 0 评论 -
Activity-----启动活动的最佳实践
获知当前所在活动新建一个java普通类,继承AppCompatActivity,并重写onCreate ()方法package com.example.firstactivity;import android.os.Bundle;import android.util.Log;import androidx.annotation.Nullable;import androidx.appcompat.app.AppCompatActivity;public class BaseActivi原创 2021-01-05 09:42:13 · 75 阅读 · 0 评论 -
Activity----活动启动模式
Android的启动模式在<actuvity android:launchMode属性></activity> 来选择启动模式一共有四种启动模式:standard,singleTop,singleTask,singleInstance四种standard默认的启动模式,每当启动一个新的活动,他就会在返回栈中入栈,并处于栈顶位置。在此模式下系统不会在乎这个活动是否已经在返回栈中存在,每次启动都会创建该活动的一个实例。singleTop在启动活动时如果发现返回栈的栈顶已经是该原创 2021-01-04 17:08:38 · 103 阅读 · 0 评论 -
Activity----活动的生命周期
返回栈Androif的活动是可以层叠的,每启动一个新的活动,就会覆盖到原活动之上,然后点击Back键会销毁最上面的活动,下面的活动就会重新显示出来。他是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称为返回栈,每当启动一个活动,他会在返回栈中入栈,处于栈顶位置,当按下Back键或者调用finish()方法去销毁一个活动时,处于栈顶的活动会出栈,这时前一个入栈的活动就会重新处于栈顶的位置。系统总是会显示处于栈顶的活动给用户。活动状态运行状态------当一个活动处原创 2021-01-04 16:31:40 · 81 阅读 · 0 评论 -
Activity----返回数据给上一个活动
使用startActivityForResult()启动活动在活动销毁的时候返回一个结果给上一个活动;有两个参数,第一个参数是Intent,第二个参数是请求码,用于在之后的回调中判断数据的来源。MainActivity //在活动中通过findViewById(),获取布局文件中定义的元素 Button button1=findViewById(R.id.button); //注册监听器,执行监听器中的onClick()方法 button1.setOnC原创 2020-12-30 17:47:16 · 312 阅读 · 0 评论 -
Activity----向下一个活动传递数据
Intent可以在启动活动的时候传递数据,通过putExtre()方法,以键值对的方式存取在FIrstActivity中存值 intent.putExtra("key","数据传递"); //在活动中通过findViewById(),获取布局文件中定义的元素 Button button1=findViewById(R.id.button); //注册监听器,执行监听器中的onClick()方法 button1.setOnClickListener(n原创 2020-12-30 16:58:43 · 199 阅读 · 0 评论 -
Activity----隐式Intent的更多用法
隐式Intent不仅可以启动自己程序内的活动,还可以启动其他程序的活动。在FIrstActivity按钮点击事件中 Button button1=findViewById(R.id.button); //注册监听器,执行监听器中的onClick()方法 button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(V原创 2020-12-30 14:28:05 · 102 阅读 · 0 评论 -
Aactivity-----Intent显式和隐式
用途:活动之间跳转;Intent显式Intent原创 2020-12-29 17:44:53 · 245 阅读 · 0 评论 -
销毁一个活动
1.Back键2.代码方式: button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } });原创 2020-12-29 16:15:15 · 152 阅读 · 0 评论 -
Activity---在活动中使用Menu
首先在res目录下新建一个menu文件夹。右击res目录—New—Directory,输入文件夹menu,点击ok,接着在此文件夹下新建一个main的菜单文件。然后在main.xml添加代码:<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+i原创 2020-12-29 16:06:40 · 144 阅读 · 0 评论 -
Activity活动---在活动中使用Toast
Toast是Android系统提供的一种非常好的提醒方式,在程序中可以将一些短小的信息提供给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。定义一个弹出的Toast的触发点,点击按钮弹出Toast,在onCreate()方法添加如下代码:...原创 2020-12-29 11:39:33 · 362 阅读 · 1 评论 -
在AndroidManifest文件中注册
所有的活动都要在AndroidManifest.xml中进行注册才能生效。<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.activity"> <application android:allowBackup="true"原创 2020-12-25 11:57:29 · 1398 阅读 · 0 评论