- 博客(110)
- 收藏
- 关注
原创 Android实现dialog为全屏
效果图:点击左图上的button,就是右图的效果button的布局: <Button android:text="弹出全屏dialog" android:id="@+id/show_btn" android:layout_width="wrap_content" android:l...
2019-07-17 18:06:01 563
原创 Android中自定义Textview解决文字和数字换行不整齐
效果图:上面的是原生Textview,第一行末尾数字整体换行了,下面是自定义Textview,第一行末尾数字分别在第一行和第二行展示布局中 MyTextview记得换成自己包名下的 <TextView android:layout_margin="25dp" android:id="@+id/test_tv" an...
2019-05-30 11:00:36 2513
原创 Android使用SpannableString实现多行文字开头放置标签图案
实现效果:多行文字开头是一个标签图片布局中, <TextView android:ellipsize="end" android:maxLines="2" android:letterSpacing="0.04" android:lineSpacingExtra="3.3dp" android:g...
2019-05-30 10:16:03 2240
原创 Recyclerview实现时间轴物流详情效果
先放上效果图:物流的小图标: 用的是Recyclerview,需要添加依赖,在项目的build.gradle文件里添加 compile 'com.android.support:recyclerview-v7:25.4.0'ExpressActivityimport android.support.v7.app.AppCompatActivity;import and...
2018-12-29 15:53:22 879
原创 ExpandableListview二级列表的简单实现
效果图如下: 数据是请求接口得到的,需要导入一些依赖 compile 'com.squareup.okhttp3:okhttp:3.8.1' compile 'com.google.code.gson:gson:2.8.2' 清单文件中别忘了添加请求网络的权限 <uses-permission android:name="android.permission.INT...
2018-12-28 11:35:42 756
原创 TabHost嵌套Activity实现底部菜单栏切换
效果如下:(图标是自己下的,文章里会给出来) 先来看下目录结构:TabMainActivity最外层的activity 这是activity对应的布局文件(下面还有其他的layout,这里就不截图了,会给出代码的) 下面放上底部选项卡的图片(选中与未选中各一张)weixin_normal.png weixin_selected.png ton...
2018-12-14 16:19:49 1082 2
原创 FlowLayout流式布局实现搜索清空历史记录
效果图:点击搜索框将搜索的历史在流式布局中展示出来,清空历史记录就会将历史清空,每次搜索后都存入sp中,每次进入页面都先判断sp里是否有值并展示首先需要导入一个module,下载地址:https://github.com/zhangliyong114/FlowLayoutDemo下载完这个工程后,需要将里面的flowlayout-lib导入到工程中,导入工程的步骤:File - New - Imp...
2018-02-22 15:00:07 1457 2
原创 recyclerview实现瀑布流效果,加载本地图片
效果图:(本地图片就不放上来了,大家随意使用自己喜欢的图片即可)先导入依赖 compile 'com.android.support:recyclerview-v7:25.3.1'activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas....
2018-02-13 11:53:04 1435
原创 使用属性动画以及自定义view实现图片的显示与隐藏
效果图为:点击加号按钮,加号隐藏,减号旋转显示,另外三张图片也旋转一定角度显示点击减号按钮,减号隐藏,加号旋转显示,另外三张图片也旋转一定角度隐藏首先放五张图片,使用RelativeLayout布局,因为可以使这五张图片重叠起来customer.xml布局<LinearLayout xmlns:android="http://schemas.android.com
2018-02-06 09:27:13 2456
原创 实现夜间模式,不需要recreate,不闪屏
通过资源 id 映射,回调自定义 ThemeChangeListener 接口来处理日间/夜间模式的切换。在values下面colors.xml里面 #3F51B5 #3b3b3b #303F9F #383838 #FF4081 #a72b55 #
2018-01-23 21:14:51 1000
原创 使用XTablayout实现横向滑动菜单,可以设置文字下面导航栏的宽度
实现效果:tablayout个数为2,并且可以设置导航栏的宽度(tablayout没有这个属性,这里使用XTablayout)导入依赖: compile 'com.androidkun:XTabLayout:1.1.3'布局中: <com.androidkun.xtablayout.XTabLayout android:id="@+id/xTablayout"
2018-01-22 11:18:08 943
原创 选项卡radiobutton+drawableTop切换改变文字颜色和图片
实现效果:radiobutton使用drawableTop显示图片,(xml中使用drawableTop选择器和文字颜色改变的选择器)代码中做图片大小的设置)放上这6张图片(未选中 , 选中)recommend_unselected recommend_selected smile_u
2018-01-20 10:16:47 1582
原创 SlidingMenu侧滑菜单的布局,点击头像滑出菜单
实现效果:点击头像或者从屏幕左边滑出侧滑菜单导入依赖, compile 'com.facebook.fresco:fresco:0.14.1' compile 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'添
2018-01-19 21:13:52 1232
原创 侧滑菜单SlidingMenu的简单使用
实现效果:简单的侧滑页面,从左侧滑出,1.首先下载 SlidingMenu-master 点击下载2.下载完成后,将SlidingMenu-master里面的library导入到工程中(以项目的形式)File - New - Import Module ,将Library导入导入完成后,将Library依赖上原本自己的项目:右键点击自己的项目 - open module settings ,点击右
2018-01-19 15:39:38 852 2
原创 自定义View继承ViewGroup自定义属性,实现水平垂直阶梯的排列
垂直布局水平布局阶梯布局先创建自定义布局的类 MyLinearLayoutpublic class MyLinearLayout extends ViewGroup{ private int marginTop = 20; private int marginLeft = 20; private int initTop = 20; privat
2018-01-11 16:59:24 430
原创 alertdialog自定义弹窗,点击窗体文字弹窗消失
点击条目最右面的图片,弹出alertdialog(自定义的弹窗样式)先放上自定义弹窗的布局,<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:padding="20dp" an
2018-01-09 16:13:15 505
原创 底部radiogroup+fragment页面改变,radiobutton切换变色或换图片
底部是radiogroup里面有4个radiobutton上面先使用一个布局来占位,当点击radiobutton时候使用事务切换fragment显示activity_main.xml的布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="h
2017-12-26 16:19:31 2123
原创 沉浸式状态栏颜色改变
在res-New-Android resource file新建values-v19的styles.xml,和values-v21的styles.xml点击OK后会创建好这两个文件在原本的values-styles.xml里面(标红的是需要改的地方)resources> style name="AppTheme.Base" parent=
2017-12-21 09:19:29 764
原创 二级购物车新的布局
全选按钮activity_main.xml上面是标题 中间是recyclerview 下面是全选<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xm
2017-12-20 21:00:06 601
原创 Ijkplayer的简单使用
导入依赖 compile 'com.dou361.ijkplayer:jjdxm-ijkplayer:1.0.5'布局中 <include layout="@layout/simple_player_view_player" android:layout_width="match_parent" android:layout_height
2017-12-20 11:39:50 896
原创 使用IjkMediaPlayer结合surface
使用IjkMediaPlayer集合surfaceView播放视频,自己写的播放和暂停按钮导入依赖/*ijkPlayer*/ // required, enough for most devices. compile 'tv.danmaku.ijk.media:ijkplayer-java:0.7.8.1' compile 'tv.danmaku.ijk.med
2017-12-20 11:18:47 2226
原创 使用JiaoZiVideoPlayer播放网络视频,暂停继续
可以播放暂停的简单视频播放器首先加入这行依赖 compile 'cn.jzvd:jiaozivideoplayer:6.2.3'布局文件<cn.jzvd.JZVideoPlayerStandard android:id="@+id/videoplayer" android:layout_width="match_parent" android
2017-12-20 11:04:52 7205 2
原创 商品详情页面,点击按钮将对应的商品加入购物车
商品详情页面是通过 点击首页的商品,传当前商品的信息到商品详情页面展示,点击 加入购物车的按钮 将当前商品加入到购物车里这是首页的商品展示点击商品 跳转到商品详情页面商品详情页面的布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln
2017-12-19 16:15:54 18570 1
原创 tablayout+viewpager联动
上面是tablayout,下面是viewpager(嵌套fragment)首先导入依赖 compile 'com.android.support:design:25.3.1'整体布局fragment_manageleft.xml,上面tablayout,下面fragment<LinearLayout xmlns:android="http://schemas.andr
2017-12-16 09:07:22 1158
原创 radiogroup+viewpager+fragment联动,
上面是radiogroup(2个radiobutton),控制下面的两个viewpager(viewpager嵌套fragment)由于这是在 管理 这个栏目里面的,这也是个fragment,先放上管理的fragment 的布局fragment_manage.xml<LinearLayout xmlns:android="http://schemas.android.co
2017-12-16 08:26:46 505
原创 Kotlin使用retrofit实现recyclerview
使用kotlin新语言在as里面实现recyclerview使用as 创建一个project工程,要勾选这里,支持kotlin需要安装一个插件,安装完重启as,这个插件用来生成数据类data重启as后,开始导入依赖,这里使用到了retrofit,Rxjava,glide,recyclerviewimplementation 'com.android.supp
2017-12-14 14:14:15 767
原创 Android6.0动态权限
拨打电话时候控制权限,加入v4依赖在build.gradle里面加入如下依赖 ,dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.android.support:appcompat-v7:26.1.0' implement
2017-12-08 18:30:48 390
原创 Retrofit,OkHttp拦截器,RxJava封装请求网络
Retrofit和Okhttp和RxJava的封装导入依赖 compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxjava:2.1.7' compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4' comp
2017-12-06 14:35:24 1372
原创 MVP封装成基类结合retrofit和Rxjava
导入依赖 compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxjava:2.1.7' compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4' compile 'com.squareup.retrofit2:conv
2017-12-05 21:27:02 515
原创 RxJava入门
导入依赖 compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxjava:2.1.7' compile 'com.squareup.retrofit2:retrofit:2.3.0' compile 'com.google.code.gson:gson:2.
2017-12-04 21:13:59 343
原创 Retriofit,Fresco,Greendao在application中的初始化配置
public class IApplication extends Application { public static IGetDataService service; public static DaoSession session; @Override public void onCreate() { super.onCreate();
2017-12-03 19:29:30 478
原创 EventBus:Activity给Fragment传值
进入页面先访问网络状态.返回true或false表示网络状态的有无,将这个值使用EventBus传给Fragment页面首先需要导入依赖compile 'org.greenrobot:eventbus:3.1.1'加入权限,允许访问网络状态的权限 Mainactivity里面先调用访问网络状态的方法 /** * 判断网络连接是否打开 * t
2017-12-03 19:19:42 1308
原创 viewpager+fragment左右滑动切换页面
主布局文件中是一个viewpager <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="180dp"/>写两个fragment的布局,并且填
2017-12-01 21:17:50 2943
原创 走马灯ViewFlipper
京东首页的走马灯展示广告res-New-Directory 新建animres-New-Animation rescoure file新建anim01.xml,anim02.xml用于走马灯的进入和出去的动画anim01.xml <translate android:fromYDelta="100%p" android:toXDe
2017-12-01 18:10:55 380
原创 RecycierView 点击条目 Eventbus传值给第二个activity,吐司展示
涉及到了greendao,在工程的gradle里面加入两行(蓝色的)buildscript { repositories { google() jcenter() mavenCentral() // add repository } dependencies { classpath 'co
2017-12-01 17:40:09 627
原创 GreenDao入门
在工程的build.gradle里面buildscript { repositories { google() jcenter() mavenCentral() // add repository } dependencies { classpath 'com.android.tools.buil
2017-11-30 16:55:33 576
原创 EventBus注册,取消注册,订阅,传值,黏性
先导入依赖compile 'org.greenrobot:eventbus:3.1.1'需要传值,写一个bean类public class MessageEvent { public boolean tag; public MessageEvent(boolean tag) { this.tag = tag; } public boo
2017-11-30 12:41:51 570
原创 Retrofit
MainActivity.javaimport android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.Toast;import java.io.IOException;import java.util.HashMap;import java.util.Map;
2017-11-29 21:28:14 375
原创 通过反射获取字段,方法,注解
自定义一个注解//自己写的注解@interface表示注解 @Documented @Target(ElementType.METHOD)//添加在方法上的注解 @Retention(RetentionPolicy.RUNTIME)//在运行的时候public @interface Bwei { public String name() default "恩";
2017-11-29 12:58:26 867
原创 自定义注解,仿butterknife,找控件点击事件
activity_butter.xml里面写按钮<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.co
2017-11-29 12:32:04 466
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人