5 xk_一步一步来

尚未进行身份认证

一步一步

等级
TA的排名 6k+

Android自定义属性时TypedArray的使用方法

有时候android传统的页面布局不足以满足我们的需求,常常需要自己定义view,通常继承View,然后重写构造方法以及onDraw等函数,再具体实现自己定义的复杂view。我们知道在给控件赋属性时,通常使用的是android系统自带的属性,比如 android:layout_height=“wrap_content”,除此之外,我们亦可以自己定义属性,这样在使用的时候我们就可以使用形如 myapp:myTextSize="20sp"的方式了,步骤大致如下:1》在项目文件res/value下面创建一个at

2020-05-15 13:10:33

Android SVG矢量资源的使用方法

VectorDrawable 与 SVGAndroid 5.0(Lollipop, API 21)后,新增了<vector>标签,以VectorDrawable的形式支持SVG类型矢量图形(SVG本质为XML标记描述的图形)。※ Android不直接支持SVG图形文件SVG文件(XML)对应的VectorDrawable资源封装格式为: <vector xmlns:android="http://schemas.android.com/apk/res/android" ...

2020-05-10 20:49:48

Android Studio中自带的svg图库

右击drawable文件夹,选择new/Vector Asset弹出下面框框,然后双击箭头所指位置即可选择自己需要使用的SVG图像了。

2020-05-10 18:43:49

Android中根据ID名动态获取资源的两个方法

在开发中, 我们习惯了类似下面这种方式去实现引用资源:context.getResources().getDrawable(R.drawable.flower);但是,当我们提前知道这个资源的id,想动态去引用,而不是在id里面固化应该怎么办呢? 比如某个图片资源的id是R.drawable.test_1, 而且有序的还有test_2,test_3, 我们如何动态的去引用它们?这里有两种方案:直接用反射和用resource的getIdentifier()方法,它们原理都差不多利用反射实现.第一种方法

2020-05-09 20:07:08

安卓dialog的使用+如何自定义dialog

看到产品给我的设计图,有辣么多的自定义的dialog,发现之前自己只会系统自带的dialog,但是这样根本满足不了产品的需求。什么叫dialog简单来说就是一句话: 弹出一个窗口,提示用户自己去选择,去提示,去分类的一些内容。 安卓自带的dialog有三种: - AlertDialog—-普通的提示对话框 - ProgressDialog–进度条对话 - DatePick...

2020-05-07 22:52:31

ExpandableListView使用方法详解

一、前言  “好记性不如烂笔头”,再次验证了这句话是真的很有道理啊,一个月前看了一下ExpandableListView的使用,今天再看居然忘了这个是干啥的了,今天就详细讲解一下ExpandableListView的使用方法,感觉对于二级条目显示功能都可以实现。二、实现的功能1、可实现二级列表条目显示功能,具体包括可自定义,父布局和子布局。可实现父布局全部展开和只展开一个功能。...

2020-05-02 00:45:52

Gallery用法详解

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=182297&reltid=39709&pre_thread_id=0&pre_pos=1&ext=CB官 方API的文档,可以看到这样一句话:该类已被弃用,其他水平滚动窗口小部件包括HorizontalScrollView和ViewPager从支...

2020-05-02 00:23:39

Spinner用法详解

Spinner组件一共有两个,一个是本身的Spinner,一个是android.support.v7.widget.AppCompatSpinner两者的区别在于v7内的Spinner是兼...

2020-05-02 00:16:57

GridView详解

GridView基本使用方法GridView的属性和方法详解GridView基本使用方法  GridView是一个在二维可滚动的网格中展示内容的控件。网格中的内容通过使用adapter自动插入到布局中。   下面通过实现一个简单的显示省份名的demo,介绍GridView控件的基本使用方法:在布局中使用GridView控件,实现activity_main.xml<?xml ve...

2020-05-01 23:31:02

OkHttp3-请求器-连接-拦截器

OkHttp3-请求器(Calls)OkHttp客户端负责接收应用程序发出的请求,并且从服务器获取响应返回给应用程序。理论听起来十分简单,但是在实践中往往会出现很多意想不到的因素。请求 (Request)每一个Http请求都包含一个URL和一个请求方式(比如Get或者Post),以及一些请求头信息。请求也有可能包含一个请求主体:当一个数据流存在指定的content type类型的请求头时。...

2020-05-01 13:19:51

Parcelable的使用

一、Parcelable的基本介绍Parcelable是Android为我们提供的序列化接口。一个类只要实现了这个接口,这个类的对象就可以实现序列化。可用于IPC/Binder,Activity之间的对象的传递。二、Parcelable的基本使用1、创建一个类实现Parcelable接口2、实现接口中的describeContents()和writeToParcel(Parcel des...

2020-04-30 20:53:00

Intent.createChooser()

系统提供的分享实现代码如下:Intent send = new Intent(Intent.ACTION_SEND); send.setType("text/plain"); send.putExtra(Intent.EXTRA_TEXT, url); send.putExtra(Intent.EXTRA_SUBJECT, title); c.startActivity(In...

2020-04-30 14:27:30

Menu菜单用法全面讲解

(1)配置Item我们可以在res中的menu文件夹中新建一个一个menu文件<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/next" android:icon="@mipmap/back" ...

2020-04-30 13:54:41

RecycleView使用问题梳理

1)添加headview和footerview思路:参考ListView的addHeadView方法封装构建一个Adapter封装类,在adpter中维护一个HeaderView和FooterView数组,在onCreateViewHolder方法中为每一个HeaderView构建一个ViewHolder。       正解:github大神提供的组件借...

2020-04-30 12:32:25

使用findLastCompletelyVisibleItemPosition()实现上滑加载新数据

页面加载相关代码:recyclerView.addOnScrollListener(new OnLoadMoreListener() { @Override public void onLoadMore() { if (canLoadMore) { canLoadMore = false; // presenter.doLoadMoreData(); //加载数据并显...

2020-04-30 12:27:14

界面打开SwipeRefreshLayout自动刷新

首先想要在界面一加载的时候出现更新效果,直接调用setRfreshing(true)是出不来效果的,必须调用SwipeRefreshLayout.post(new Runable(){ @Override public void run() { SwipeRefreshLayout.setRefreshing(true); } });关闭的...

2020-04-30 12:18:46

Retrofit 2详解和使用(4)——汇总

0X00 写在前面相信做过Android网络请求的同学都绕不开Volley,Retrofit,OkHttp这几座大山,至于他们的前世姻缘以及孰优孰劣,不在本博客的讨论范围。如题,这篇博客主要介绍一个小白(其实就是我自己)的Retrofit2进阶之路,会结合一个开发实例介绍5节内容:Retrofit2 HTTP请求方法注解的字段说明Call<T>响应结果的处理问题Retro...

2020-04-30 12:12:06

RecycleView 列表项滑动到指定位置或顶部、Adapter局部刷新

一、滑动到指定位置相信大家在项目中使用RecyclerView时,经常会遇到这样的需求:将RecyclerView滑动到指定位置,或者检索RecyclerView的某一项(各个项的高度不确定),然后定位滚动这到一项,将它显示。一般我们会用 scrollBy、scrollToPosition、smoothScrollToPosition、scrollToPositionWithOffs...

2020-04-30 00:22:05

Material Design 系列文章

感受 Material Design UI 魅力,你不能错过的 Material Design 全系列文章:Material Design 之一 BottomNavigationView + ViewPager + Fragment 仿微信底部导航效果Material Design 之二 Toolbar + DrawerLayout + NavigationView 实现QQ侧拉抽屉...

2020-04-29 12:51:38

小程序之相对定位与绝对定位

相对定位:元素是相对自身进行定位绝对定位:元素是相对于离他最近的一个已经定位的父元素进行定位相对定位:position:relative;//某一元素相对于父元素激活相对定位布局,position(位置、立场)relative(相对布局)left:150px;    top:150px//距离左边间隔150px,距离顶部150px绝对定位:当某一元素启用绝对定位元素时,他要空出...

2020-04-21 20:44:11

查看更多

勋章 我的勋章
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。