
Android基础
uniquemei
用心做事、积极向上、简单生活
展开
-
Android Studio获取开发版SHA1值和发布版SHA1值
转载自:https://www.cnblogs.com/arxive/p/6978364.html前言:今天我想把百度地图的定位集成到项目中来,想写个小小的案例,实现一下,但在集成百度地图时首先要申请秘钥,申请秘钥要用到SHA1值,所以今天就来总结一下。正常情况下:一、获取开发版SHA1:在此我直接用Android Studio提供的命令控制台了,毕竟做Android开发几乎都是用And...转载 2019-09-25 17:21:05 · 214 阅读 · 0 评论 -
fragment+viewpager+tab(PagerSlidingTabStrip)
首先,我们来看一下效果图片我先说一下大体思路:根据动态tab的个数来动态增加不同的fragment的数目,实现它们的联动。总体布局就是在PagerSlidingTabStrip下面是viewpager ,下面我们直接上代码看。一、主Activity/* * 商品配件 * * */public class GoodsPartsActivity extends FragmentActivity原创 2017-01-09 19:27:26 · 524 阅读 · 0 评论 -
将list转换为String字符串
List<String> cashIdList=new ArrayList<>(set);cashIdsList = new ArrayList<>(set); StringBuilder sb = new StringBuilder(); if (cashIdsList != null && cashIdsList.size() > 0) {原创 2016-11-01 10:18:29 · 4341 阅读 · 0 评论 -
startActivityForResult()的用法
startActivityForResult()的方法试用环境:当一个页面A跳转到另一个页面B,只有页面B处理成功数据以后,页面A才刷新数据,startActivityForResult()正适合这种场景。一、页面AIntent intent = new Intent(this, StatementOfAccountHistoryActivity.class);intent.putExtra(""原创 2016-10-19 18:22:34 · 315 阅读 · 0 评论 -
将String类型转换成固定形式的String类型时间
public static String timeParse(String dateString, String timeType) { // timeType是要转换成的时间类型,dateString是String型的时间 String time = ""; try { SimpleDateFormat df = new Si原创 2016-10-19 17:19:43 · 938 阅读 · 0 评论 -
当点击EditText时,不弹出软键盘
场景描述:正常情况下,当点击EditText时,软键盘会弹出来。现在的要求是当点击EditText时,弹日期选择对话框,选择的结果显示在EditText上。若不处理,当点击EditText时,软键盘和对话框都会弹出,显然用户会感觉到不爽。 解决办法,当点击EditText时:showTime=(EditText) findViewById(R.id.common_title)showTime.s原创 2016-10-06 14:29:44 · 6385 阅读 · 2 评论 -
设置checkbox的大小
最近,我发现设置checkBox的大小的时候,显示不出来,如果是设置它的高度、宽度为“wrap _content”的话,它会很大,那么如何让它变小呢?一、对 scaleX和scaleY进行设置,来设置 显示比例android:layout_width="wrap_content" android:layout_height="wrap_content" androi原创 2016-10-28 16:41:42 · 7759 阅读 · 0 评论 -
计时器
@Bind(R.id.resultShow) TextView showTime; private Handler mHandler = new Handler(); private int timeLenth = 5;//计时5秒 Runnable runnable = new Runnable() { @Override publi原创 2016-10-17 10:16:07 · 344 阅读 · 0 评论 -
动态在RadioGroup加载RadioButton
先来看一下效果图看到效果图,如果让你去实现的话,怎么去实现,相信大家会有自己的实现方法,这儿我就来说说我的思路。思路:因为要满足单选的需求,我就用RadioGroup里动态加载RadioButton,但是RadioGroup要不就横着排、要不就竖着排,我们要想让它自动换行,我们可以重写RadioGroup。一、我们先来看RadioGroup布局文件 <com.sanjioa.widget.Flo原创 2016-05-23 14:25:49 · 2704 阅读 · 0 评论 -
设置popWindow出现时,背景后面变暗
if (null == changePopupWindow) { LayoutInflater inflater = LayoutInflater.from(this); View popWindow = inflater.inflate(R.layout.pop_custm_recept_arreas, nul原创 2016-09-29 18:16:06 · 2935 阅读 · 1 评论 -
android 实现剪贴板的粘贴复制
复制字符串到剪贴板管理器String text = "abcdefg";ClipboardManager cmb = (ClipboardManager) context .getSystemService(Context.CLIPBOARD_SERVICE); cmb.setText(text );2.由剪贴板管理器得到内容ClipboardManager cmb = (ClipboardMan转载 2016-10-15 16:53:25 · 4350 阅读 · 0 评论 -
当点击back键时执行home键的操作,保留之前的操作记录
//当点击back键的时候让它执行home键 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_BACK: Intent intent = new I原创 2016-09-03 09:48:25 · 468 阅读 · 0 评论 -
Android系统中设置TextView的行间距(非行高)
Android系统中TextView默认显示中文时会比较紧凑,不是很美观。为了让每一行保持一定的行间距,可以设置属性android:lineSpacingExtra或者android:lineSpacingMultiplier。1、android:lineSpacingExtra设置行间距,如“3dp”。2、android:android:lineSpacingMultiplier设置行间距的倍数原创 2016-11-03 14:58:37 · 434 阅读 · 0 评论 -
获取前一天时间
Date date = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.MONDAY, -1); Date beforeDate = calendar.getTime();// 结果原创 2016-10-22 15:26:20 · 651 阅读 · 0 评论 -
对checkBox做选择判断时,请求需要传递id(JSONArray)
当我们需要对一个实体类bean进行选择判断,我们一般用checkBox来做监听,根据网络请求传递一个存放不同的实体id的jsonArray()数组。以前我一般的思路:给bean多加一个boolean型的属性isSelect,标记bean选择的状态。声明一个存放id类型的selectList数组,如果isSelect为true,将选中的id先遍历一遍selectList,如果selectList里含有原创 2016-05-21 18:08:44 · 1463 阅读 · 0 评论 -
如何实现软键盘不自动弹出
<activity android:name="com.sanjioa.activity.LoginActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar" android:原创 2016-09-06 15:50:01 · 1271 阅读 · 0 评论 -
splash页当点击立即进入时,取消自动跳转
@BindView(R.id.splash_go_in_img) ImageView splashGoInImg; private Handler mHandler = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(原创 2017-01-22 10:34:22 · 688 阅读 · 0 评论 -
android画虚线
一、我们先在drawable下新建一个bg_dotted_line文件<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <!--线宽为dashWith,线之间空隙dashGap,da原创 2017-01-22 16:18:24 · 372 阅读 · 0 评论 -
实现懒加载
实现fragment的懒加载,我的大体思路是:当fragment可见准备好数据的时候,显示当前的fragement。首先我们来定义一个基本的fragment/**** * 用于懒加载 *****/public abstract class BaseFrament extends Fragment { protected boolean isVisible; @Override原创 2017-02-25 11:38:37 · 425 阅读 · 0 评论 -
将Base64字符串转换成Bitmap
**如何后台没有做处理的话,返回的Base64字符串一般data:image/jpeg;base64,/9j/4AAQSkZJRgA..........我们 截取“,” 后面的字符串,转换成Bitmap既可展示图片。 //将返回的base64转换成图片 public static void setImage(String imageStr, ImageView image) { ...原创 2019-07-31 16:41:18 · 4761 阅读 · 0 评论 -
EditText选中后显示光标
对EditText设置 android:cursorVisible="false"后,EditText的光标就不会显示,当点击EditText后可以设置显示光标。 //点击选中获取光标 editText.setOnClickListener(new View.OnClickListener() { @Override publi...原创 2019-07-31 14:05:38 · 1123 阅读 · 0 评论 -
WebView处理里面的超链接点击事件
webView加载html网页,我相信大家都会写,但是怎么处理html里面的超链接呢,如果不做处理的话,点击html中的超链接,会调用android系统中自带的浏览器进行页面展示,这是不符合我们的需求的,我们要在当前界面进行展示,只要我们重新定义shouldOverrideUrlLoading()方法即可。 webView.setWebViewClient(new WebViewClient...原创 2019-06-28 14:15:58 · 4879 阅读 · 0 评论 -
AndroidStudio一步步教你修改项目包名(最详细,最易懂)
转发自:https://blog.youkuaiyun.com/qq_35270692/article/details/78336049修改项目包名,实现不覆盖安装(如果只是想不覆盖安装,更改build.gradle里面的包名就OK了,那这篇博文到这里就可以结束了,如果希望项目层次的包名也更改的话,请往下看)1.首先新建一个项目,默认结构如下,红色的就是包名2,更改显示项目结构方式,首先1,点...转载 2019-02-25 17:08:50 · 900 阅读 · 0 评论 -
textView实现没有边框效果和单选效果
要实现如图效果:中间的textView设置左右的分割线没有,左右设置圆角效果中间textView未选中效果<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:left="-2dp" android:right...原创 2019-01-03 14:29:44 · 532 阅读 · 0 评论 -
textView写点击选中和没选中效果
重点是设置:android:state_enabled="false"或者android:state_enabled="true"来控制textView选中和没选中效果。下面直接上代码:<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/a原创 2019-01-03 13:43:44 · 9854 阅读 · 0 评论 -
android studio使用依赖引入jar的存放位置
转载:http://blog.youkuaiyun.com/u011682673/article/details/52658368一直以来,我们用studio通过第三方来配置jar包,但是之前我并不知道studio把依赖的jar放在那里了,记录一下android studio使用依赖引入第三方库的路径。1、第三方库都在External Libraries下面2、到库 中java文件右键点击File Path3、转载 2017-09-28 16:17:59 · 7138 阅读 · 0 评论 -
理解Intent和Intent Filter
IntentIntent代表了Android应用的启动“意图”,Android应用将会根据Intent来启动指定组件,至于到底启动哪个组件,则取决于Intent的各个属性。Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中的一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对用的组件,将Intent传递给调用的组件转载 2017-05-18 15:52:30 · 416 阅读 · 0 评论 -
Android解决dialog弹出时捕捉不到Activity的back事件
我们要定义back事件,会想到重写Activity的onkeydown()方法,但是当Activity上有dialog时,这个方法是不会被执行的,那么怎么办呢,下面是解决办法。(1)设置dialog的setOnCancelListener监听:mVersionDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {原创 2017-04-25 19:06:02 · 536 阅读 · 0 评论 -
搜索框,当点击回车键时,执行搜索操作
mainSearchEdit.setOnKeyListener(onkey); mainSearchEdit.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView原创 2017-04-21 16:35:44 · 2268 阅读 · 0 评论 -
点击连着两次回车键退出程序
实现这种功能的思路是:当第一次点击回车键时,将isExit置为true,若在两秒以内再次点击退出程序,否的话则isExit置为false。private boolean isExit = false;@Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) {原创 2017-04-21 14:52:48 · 841 阅读 · 1 评论 -
根据EditText输入框的内容动态更改listView的数据
我们先来看一下效果图:我们输入要搜索的型号,型号列表的数据跟着变动,怎么来实现呢,我们先来看一下思路:1、监测EditText的内容变化,利用Handler来通知子线程;2、在子线程中调用String的contains()方法,将含有输入内容的数据放在新的集合里面,调用在adapter写的adapterChange()方法来更改界面。那么我们就跟着这个思路来看代码:对EditText进行监测sear原创 2017-04-21 10:59:11 · 1075 阅读 · 0 评论 -
对控件动态代码设置字体颜色
partPayRadioButton.setTextColor(CustomerReceptDestActivity.this .getResources().getColor(R.color.white));原创 2016-09-24 17:43:15 · 657 阅读 · 0 评论 -
adapter加载多种布局
public class SensorAdapter extends BaseAdapter { Sensors mData; Context mContext; boolean flag = false; public onCheckBoxClickListenner listenner4; public SensorAdapter(Sensors mData原创 2017-03-22 14:35:41 · 666 阅读 · 0 评论 -
GrideView点击某个item实现选中效果,改变item的背景颜色
那么我们来实现这样的效果1、首先,我们在对应的adapter里面添加private int clickItemPosition=-1;//标识选中的itempublic void setSelectPosition(int position){clickItemPosition=position;}2、在getView里面添加代码@Overridepublic View getView(in原创 2017-03-11 17:44:06 · 1146 阅读 · 0 评论 -
Handler的简单用法
我们在子线程进行了耗时操作,要更新主线程的UI,直接在子线程里是更新不了,会导致程序崩溃,那我们怎么办呢,用handler可以解决Handler一些特点handler可以分发Message对象和Runnable对象到主线程中, 每个Handler实例,都会绑定到创建他的线程中(一般是位于主线程),它有两个作用:(1)安排消息或Runnable 在某个主线程中某个地方执行;(2)安排一个动作在不同的线原创 2016-08-26 17:40:27 · 623 阅读 · 0 评论 -
使用 Intent传递对象(Parcelable方式)
package utils;import android.os.Parcel;import android.os.Parcelable;public class PersonParcelable implements Parcelable { private String name; private int age; public PersonParcelable() {原创 2016-09-03 10:36:25 · 2986 阅读 · 0 评论 -
listView取消分割线
当我们用listView展示数据的时候,会有一个分割线,我们要想自定义,可以把它先去掉,在定义自己的分割线。 android:divider=”@null”原创 2016-05-17 18:35:27 · 670 阅读 · 0 评论 -
极光推送简单解析
一、首先,我们来简单说一下极光推送 (1)初始化: JPushInterface.init(Context context); (2)停止推送服务:public static void stopPush(Context context); 这里需要说一下,你停止推送服务后,需要调用resumePush()方法才能恢复推送。public static void resumePush(Conte原创 2016-04-20 10:40:29 · 969 阅读 · 0 评论 -
初识RecyclerView(三)
现在,我们用RecyclerView来实现瀑布流的效果,我们来看一下效果图:根据之前对RecyclerView的了解,我们要实现这个效果,我的大体思路是:在onCreate()方法里,通过设置LayoutManager来设置瀑布流的布局和增加、删除的样式;在adapter里可以设置数据的不同高度;RecyclerView没有监听事件,我们需要自己来定义接口,实现它的点击事件。下面,我们一步步来实现。原创 2016-05-04 13:09:00 · 812 阅读 · 0 评论 -
初识RecyclerView(二)
我们先来用RecyclerView来实现ListView、GridView的效果,体会它与ListView的不同。我们先来看一下要实现的效果:实现ListView 一、listView的每个Item,我们就用一个简单的String型的字符串来简单代替一下,单个item的布局文件,我就不在给出了,我们来看一下主布局文件<RelativeLayout xmlns:android="http://sch原创 2016-05-03 18:25:37 · 361 阅读 · 0 评论