Android-UI
ScriptGirl
热爱技术探讨,语言包括且不限于Java、SQL、C/C++、Python、Android,领域包括且不限于大数据、移动端编程、后端编程
展开
-
【Android】SVG
可以下载SVG图片的网站:https://www.amcharts.com/download/原创 2021-05-26 18:28:05 · 139 阅读 · 1 评论 -
【Android】开关控件Switch的简单使用
最基本情况的按钮:<Switch android:id="@+id/switch_普通开关" android:layout_width="match_parent" android:layout_height="wrap_content" />效果如图:简单设置: <?xml version="1.0" encoding="utf-8"?> 效果展示: 这里layout转载 2021-05-26 18:24:48 · 1928 阅读 · 0 评论 -
【Android】控件按下抬起变色
Android按下抬起变色的功能主要用到的是 state_pressed这个属性 值有True(代表按下) false(代表抬起)在res文件夹下新建一个文件夹drawable,创建文件:<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">如果只想改变按下变色,注释掉默认背景颜色:<!-- <i原创 2021-04-27 20:21:05 · 435 阅读 · 0 评论 -
【Android】自定义控件:概述+手写RecyclerView
自绘控件:自定义容器类控件手写RecycleView()原创 2021-04-26 19:39:02 · 138 阅读 · 0 评论 -
【Android】Material Design
主题共3种:适配API在21以下的,需要使用兼容包:各种颜色,及其所控制的地方:其中:(1)toolbar,拥有高度灵活性,可定制性,用来代替actionbar(2)DrawerLayout,左右滑动的窗口(3)NavigationView ,与DrawerLayout配合(4)BottomNavigationView,底部提示框(5)FloatingActionButton,悬浮按钮(6)Snackbar,提示功能,用来替代Toast(好文:https://www.jiansh原创 2021-04-26 19:38:21 · 107 阅读 · 0 评论 -
【Android】spinner下拉框样式修改
为spinner项创建一个自定义XML文件:spinner_item.xml。将自定义颜色和大小发送到该文件中的文本。<?xml version="1.0" encoding="utf-8"?><TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/spinnerItemStyle"原创 2021-04-11 21:57:05 · 1952 阅读 · 0 评论 -
【Android】RecyclerView:处理item的点击事件
方式1:通过在adapter中提供回调来实现item的点击事件1、Activity中public class MainActivity extends AppCompatActivity { private RecyclerView mRecyclerView; private MainAdapter mAdapter; private List<String> mDatas; @Override protected void onCreate(B原创 2021-04-11 21:56:42 · 775 阅读 · 0 评论 -
【Android】spinner设置默认值和下拉方式
1、spinner设置默认值spinner用适配器装载完数据后, 再设置spinner默认值:spinner有两个方法来设置默认值:.setSelection(position)和.setSelection(position, animate)cursor = db.rawQuery(sql, null);String type = null;if (cursor.moveToNext()) { type = cursor.getString(0); // 把笔记类别设置为默认类别 int原创 2021-04-11 21:56:13 · 6363 阅读 · 0 评论 -
【Android】设置EditText的下划线颜色
自定义主题修改下划线参考:https://blog.csdn.net/Lindroid20/article/details/72551102 <style name="MyEditText" parent="Theme.AppCompat.Light"> <item name="colorControlNormal">@android:color/darker_gray</item> <item name="colorCon原创 2021-04-11 21:55:44 · 5154 阅读 · 1 评论 -
【Android】ToggleButton点击变色
只需要写一个selector作为togglebutton的背景就行了android中大部分的控件都可以通过selector来改变样式:在drawable文件夹中,创建一个xml文件my_btn_toggle.xml:<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="false" android:drawable="@color/re原创 2021-04-09 19:22:39 · 551 阅读 · 0 评论 -
【Android】View绘制深度、高质量学习
1 View绘制:decorview、window、surface等概念链接:https://www.jianshu.com/p/c77082f1b30aActivity接受到焦点的时候,会请求绘制我们的UI布局(是由Android的FreamWork层来处理的)绘制从根节点开始,对我们的布局依次进行测量和绘制。PhoneWindow其实就是我们Window窗口的一个实现类(这个概念是在我们的Android的FreamWork当中一个Window的抽象类,这个抽象类是对我们Android系统当中原创 2021-04-03 21:05:36 · 267 阅读 · 0 评论 -
【Android】layout_gravity和gravity的区别
gravity:指的是文字在控件中的对齐方式。或者子view在父view的对齐方式(在父view中设置)。layout_gravity:是LineaLayout的属性,是用于指定控件在布局中的对齐方式。当LineaLayout的排列方式是horizontal时,只有在垂直方向上的对齐方式才会生效,因为此时水平方向的长度是不固定的,每添加一个控件,水平方向上的长度都会改变,因而无法指定该方向上的对齐方式。同样的道理,当LineaLayout的排列方式为vertical时,只有水平方向上的对齐方式才会生原创 2021-03-17 10:23:22 · 202 阅读 · 0 评论 -
【Android】设置TextView文字居中
有2种方法可以设置TextView文字居中:一:在xml文件设置:android:gravity=“center”二:在程序中设置:m_TxtTitle.setGravity(Gravity.CENTER);备注:android:gravity和android:layout_gravity的区别在于前者对控件内部操作,后者是对整个控件操作。例如:android:gravity="center"是对textView中文字居中 android:layout_gravity="center原创 2021-02-02 19:22:05 · 4427 阅读 · 0 评论 -
【Android】Canvas画布高级应用
一、Canvas详解基础概念:画布,通过画笔绘制几何图形、文本、路径和位图等常用API类型:常用API分为绘制、变换、状态保存和恢复1.3、状态保存和恢复调用save函数,压栈;restore函数,出栈。二、粒子特效首先来看效果:分析:基本思路就是把这张图转成粒子,然后实现它的爆炸效果,就是将转换后的粒子进行位置的移动,类似于自由落体运动。首先我们肯定是要准备一张图片,然后先来看下面这几行代码:Bitmap bitmap = BitmapFactory.decodeResource(转载 2020-11-21 16:02:22 · 267 阅读 · 0 评论 -
【Android】Paint画笔的高级应用
一、Paint基本使用1.1、概念画笔,保存了绘制几何图形、文本和位图的样式和颜色信息1.2、常用API关于常用API这里简单列举一些常用的,具体的使用方式我这里也都给出了注释,实际上也就是掌握里面的参数具体是如何使用的,大家可以自己对照着写写感受一下: mPaint = new Paint(); //初始化 mPaint.setColor(Color.RED);// 设置颜色 mPaint.setARGB(255, 255, 255, 0); // 设置 Paint对象颜色,范转载 2020-11-21 15:12:54 · 257 阅读 · 1 评论 -
【Android】Bitmap优化
Bitmap decode常见的图像存储格式:jpg,png,webpAndroid中显示图片必须要先经过解码(decode)读取图像的数据到内存中BitmapFactory提供了常用的一些decode方法图片真正占用的内存大小要看decode之后的数据大小。用字节数组的方式存储。Bitmap memory<= 2.3.3(api 10) Bitmap解码之后的数据存储在NativeMemory中,手动调用Recycle回收=3.0 (api 11) Bitmap解码之后的数据原创 2020-11-12 21:58:25 · 322 阅读 · 0 评论 -
【Android】带可输入功能的下拉框EditSpinner,附带Filter功能
实现:在model下建立一个spinner包文件夹,在这个文件夹中添加4个java文件:1、BaseEditSpinnerAdapter.javaimport android.widget.BaseAdapter;public abstract class BaseEditSpinnerAdapter extends BaseAdapter { /** * editText输入监听 * @return */ public abstract EditSp原创 2020-10-15 14:35:41 · 2861 阅读 · 3 评论 -
【Android】挂件Widget的使用方法
1、基本使用方法(1)在AndroidManifest.xml中声明:widget本质是广播接收器,广播是四大组件之一,需要在AndroidManifest中声明:<receiver android:name=".TestWidget"> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> </intent-filt原创 2020-10-01 10:52:17 · 450 阅读 · 0 评论 -
【Android】WebView使用方法及踩坑记录
使用方法新建Activity:WebViewButtonActivitypackage com.jsc4.aboutactivity;import androidx.annotation.Nullable;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;import android.graphics.Bitmap;import android.net.Uri;import andr原创 2020-09-30 22:41:15 · 1393 阅读 · 0 评论 -
【Android UI】自定义控件
Inflater使用把一个xml文件转换成一个view,就会需要使用到LayoutInflater。private LayoutInflater mLayoutInflater;获得LayoutInflater实例的三种方式:mLayoutInflater = getLayoutInflater();mLayoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);mLayoutInflater = Lay原创 2020-09-26 13:24:10 · 119 阅读 · 0 评论 -
【Android UI】像素单位的区别:px,dp,sp,dip
非常简单:px:像素点,10px在分辨率低(像素点少)的屏幕上看上去更长dp:让10dp在两个不同分辨率的手机上看上去差不多长dip:=dpsp:字体大小在屏幕上画一条非常细的分割线:可用px,保证够细由于像素问题,平时会准备以下几个文件夹,其中的图片边长是1.5倍关系:mdpi:48*48hdpi:72*72xhdpi:96*96xxhdpi:144*144xxxhdpi:192*192...原创 2020-09-25 22:44:50 · 251 阅读 · 0 评论 -
【Android】ListView使用方法、原理及优化
暂存转载 2020-10-19 20:55:36 · 1234 阅读 · 0 评论 -
【Android】viewpager的setOffscreenPageLimit方法作用
大家都知道,viewpager是默认预加载下一页的界面的。viewpager提供了一个设置预加载页面数量的方法,那就是setOffscreenPageLimit()。默认不设置数量的情况下预加载下一页。设置0和1是同样的效果。修改setOffscreenPageLimit的值为2,运行程序。显示第一页第二页第三页都创建了然后往右滑到第二页,第四个界面创建了,滑到第三页,第五个界面创建了。再往右滑到第四页,第一个界面销毁。viewpager每次切换的时候, 会重新创建当前界面及左右界面三个界面, 每次切原创 2020-11-20 10:51:27 · 3928 阅读 · 0 评论 -
【Android】View是如何被添加到屏幕窗口上的
1、创建顶层布局容器DecorViewDecorView对象是ViewGroup容器,继承自FrameLayout,是ForWindow对象持有的一个实例,是所有应用程序的顶层View,在系统内部进行初始化。DecorView初始化完成后,系统会根据应用程序的主题特性加载一个基础容器,主题可能为noActionBar或者DarkActionBar等,虽然主题可能不同,但基础容器中一定会有一个onDraw.R.id.content的容器FrameLayout。开发者setContentView设置的xm原创 2020-11-17 22:23:48 · 347 阅读 · 0 评论 -
【Android】Color的定义、设置、转换、拾取
参考:https://www.jianshu.com/p/3c1fe10aed4fAndroid中的颜色值通常遵循RGB/ARGB标准,使用时通常以“ # ”字符开头的8位16进制表示。其中ARGB 依次代表透明度(Alpha)、红色(Red)、绿色(Green)、蓝色(Blue),取值范围为0 ~ 255(即16进制的0x00 ~ 0xff)。A 从0x00到0xff表示从透明到不透明,RGB 从0x00到0xff表示颜色从浅到深。当RGB全取最小值(0或0x000000)时颜色为黑色,全取最大值(2原创 2020-11-17 20:31:25 · 10462 阅读 · 0 评论 -
【Android】绘制流程节点图StepView
1、MyStepInfoBean.java每个节点样式package com.dj.processindication.StepView;public class MyStepInfoBean { private String name; private Enum status; public MyStepInfoBean(String name, Enum status) { this.name = name; this.status =原创 2020-11-17 20:30:37 · 706 阅读 · 0 评论 -
【Android】利用HelloChart绘制曲线
1、将jar包放到app下的libs文件夹中2、build.gradle(app):implementation files('libs\\hellocharts-library-1.5.8.jar')3、MainActivity.javapackage com.dj.drawlinestest;import android.graphics.Color;import android.os.Bundle;import android.os.Handler;import android.v原创 2020-11-12 10:07:58 · 1422 阅读 · 3 评论