WebView

WebView加载不出来图片的时候可以添加属性 webSettings.setDomStorageEnabled(true);

部分手机上WebView.goback()方法返回时onReceivedTitle方法接收不到标题,可以在onPageFinished()方法中设置标题,通过WebView.getTitle()。

动态设置全屏

 private void setFullScreen(boolean enable) {   if (enable) {            WindowManager.LayoutParams lp = getWindow().getAttributes();            lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;            getWindow().setAttributes(lp);            getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);        } else {            WindowManager.LayoutParams attr = getWindow().getAttributes();            attr.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);            getWindow().setAttributes(attr);            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);        }    }

Activity之间传递数据,intent为空的情况

eg: FirstActivity—>SecondActivity

在SecondActivity关闭的方法里 setResult(…)要在finish()和super.onBackPressed(…)方法之前执行。

注意:只有当前Activity被finish掉,结果才会被发送给上一个Activity的onActivityResult去处理。

在Activity中设置屏幕背景颜色变暗

WindowManager.LayoutParams layoutParams = getWindow().getAttributes();layoutParams.alpha = 0.7f;getWindow().setAttributes(layoutParams);

设置颜色 sdk23及以上 Context.getResourses().getColor(id)过时问题

更改为ContextCompat.getColor(context, R.color.your_color);

ContextCompat在v4包中,所以低版本也可以用

设置输入法隐藏

Activity设置属性

android:windowSoftInputMode="stateAlwaysHidden"

Activity中添加代码

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)inputMethodManager.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);

EditText透明

正则根据回车符分割字符串

Pattern pattern = Pattern.compile("\n");String[] strs = pattern.split(str);if (strs != null && strs.length > 0){    compareCodeList(strs[strs.length - 1]);}

Android横竖屏切换Activity重启问题

为了在横竖屏切换的时候不重新创建Activity,可以使用下面方式:

在AndroidManifest.xml文件中添加Activity属性为 android:configChanges=“orientation|keyboardHidden|screenSize”

重写onConfigureChanged()方法,系统在切换横竖屏时会调用此方法,而不是Activity的生命周期方法。

Home键监听

class HomeReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubString action = intent.getAction();if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {String reason = intent.getStringExtra("reason");if (reason != null) {if (reason.equals("homekey")) {//短按home键    doSomething();}else if(reason.equals("recentapps")){//长按home键    doSomething();                    }}}}}

Activity中调用

HomeReceiver receiver = new HomeReceiver();registerReceiver(receiver, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));unregisterReceiver(receiver);

锁屏监听

private ScreenBroadcastReceiver mScreenReceiver;private class ScreenBroadcastReceiver extends BroadcastReceiver {    private String action = null;    @Override    public void onReceive(Context context, Intent intent) {        action = intent.getAction();        if (Intent.ACTION_SCREEN_ON.equals(action)) {             // 开屏        } else if (Intent.ACTION_SCREEN_OFF.equals(action)) {             // 锁屏        } else if (Intent.ACTION_USER_PRESENT.equals(action)) {         // 解锁        }    }}private void startScreenBroadcastReceiver() {    IntentFilter filter = new IntentFilter();    filter.addAction(Intent.ACTION_SCREEN_ON);    filter.addAction(Intent.ACTION_SCREEN_OFF);    filter.addAction(Intent.ACTION_USER_PRESENT);    context.registerReceiver(mScreenReceiver, filter);}

ViewPager(onPageChangeListener)

    @Overridepublic void onPageScrolled(int position, float positionOffset,int positionOffsetPixels) {params.leftMargin = (int) ((position+positionOffset)*position_one+(position_one-bottomLineWidth)/2);bottomLine.setLayoutParams(params);}//position_one  screenWidth/count(title个数)  //(position_one-bottomLineWidth)/2)  bottomLine左边距//params bottomLine的LayoutParams

android.view.InflateException: Binary XML file line #8: Error inflating class com.facebook.drawee.view.SimpleDraweeView

问题原因:Fresco未初始化

解决方法:Fresco.initialize(MainActivity.this);

关于android应用

android应用根据包名区分唯一性,微信平台支付绑定一个包名,百度地图可以绑定两个(一个测试,一个正式),所以测试支付的话如果是不同的包名需要另外配置才可以测试。另外如果想在手机上同时安装测试版和正式版的话,设置不同的包名就可以了。

导入项目不动

1.修改gradle文件和当前能运行的项目一致 根目录/gradle/wrapper/gradle-wrapper.properties

2.修改项目gradle文件的gradle版本

七牛下载图片被裁减问题

项目中用七牛云存储图片,获取到三个大小的图片(large,medium,small),其中只有large图片与原图一致,其余皆被裁减后返回,经查看是图片的设置出现了问题,后台通过七牛的imageView2接口获取图片资源,接口参数mode设置错误,修改后即可解决问题。

android:clipChildren属性不起作用问题

android:clipChildren属性控制Android的一个子view是否运行超越父控件边界放置,设置为false后那么当子控件的高度高于父控件时 也会完全显示,而不会被压缩。默认设置为true。

使用时在当前xml文件的根布局和需要控制的子控件的父控件处设置改属性。

实际使用时发现按照说明写好后未起作用,试过将父控件和根布局从RelativeLayout改为FrameLayout皆未起作用,另外加上了android:clipToPadding="false"属性亦未起作用,最后在stackoverflow上看到有建议将父控件的padding属性去掉,终于实现想要的效果。

另外发现子控件超出父控件的部分点击事件不起作用,不知道还有没有人遇到这个问题,如果有的话,希望可以交流一下。

循环播放旋转动画

刚开始出现了重复播放动画卡顿的问题,加上这句代码**rotation.setInterpolator(new LinearInterpolator());**代码后得以解决

ObjectAnimator rotation = ObjectAnimator.ofFloat(ivImg, "rotation", 0f, 360f);        rotation.setRepeatCount(ValueAnimator.INFINITE);rotation.setInterpolator(new LinearInterpolator());rotation.setDuration(1000);rotation.start();

OS X - Can’t start Git: /usr/bin/git Probably the path to Git executable is not valid

更新Mac系统后Android Studio报了这个错,解决办法如下所示:

Git 官网上重新下载一个最新的git软件,安装

Terminal中打which git查看git路径,复制git路径

在Android Studio设置上一步复制的git路径

over
###从Github上clone项目到Android Studio,ssh方式提示“git Could not read from remote repository”,https方式测试可以通过,iterm测试ssh方式可以通过。
解决方法:Android Studio–》Preferences–》Version Control–》Git–》SSH executable–》选择Native(默认Built-in)
###Java格式化字符串
####转换符
%s->“哈哈”
%d->3
%f->99.99(%.2f 保留两位小数)
%%->%
%n->换行符

标志

“+”> %+d (为正数或者负数添加符号 eg:+99、-99)
“0”>%03d(数字前面补0 eg::007)

SSL peer shut down incorrectly

导入新项目编译时报了这个错,原因是Project.gradle classpath中的gradle版本不一致导致的,修改gradle版本与新建项目一致即可

查看apk签名信息

网上推荐是用keytool工具来查看,但是运行后没有md5值,没有搜到解决办法,只好换了种方式。
在Android Studio中,在右侧找到菜单栏“Gradle”—>”:app”—>“Tasks”—>“android”—>双击“signReport”即可。这时在Terminal中可以查看debug版本、resalse版本的SHA1和MD5值。见截图

更多相关文章

  1. 焦点去哪儿了?ANDROID焦点控制问题
  2. Android(安卓)bitmap 一些常用用法
  3. Android高亮引导控件的实现代码
  4. Android(安卓)TextView跑马灯效果
  5. Android之选项菜单和上下文菜单解析
  6. 我的android 第28天 - Activity(一)
  7. In android studio,cannot load 2 facets-unknown facet type:an
  8. Android(安卓)View的点击事件分发机制
  9. TextView控件使用小技巧

随机推荐

  1. android之spinner背景、字体颜色
  2. Android动态加载jar/dex
  3. Android : 输入设备键值从底层到应用层的
  4. Android之SurfaceView简介(三)
  5. Android脚本插件系列(一):安卓国际化多语
  6. Android 应用程序基础(Application Fundam
  7. Android(安卓)后台服务
  8. Android入门:使用Android自带媒体库读取MP
  9. 【android 文件的基本操作】
  10. [Android] 基于 Linux 命令行构建 Androi