1.AndroidStudio减少文件的大小
2.圆形图片
3.圆形背景框
4.导航栏
5.反转List
6.加分割横线
7.填充满ImageView区域
8.设置横竖屏
9.快速编辑”我的界面”
10.少量数据存储
11.一些报错信息处理
12.隐藏软键盘
13.按钮点击波纹效果
14.CardView使用方法,此时圆角不受内部元素影响
15.改变指定字体颜色
16.WebView的使用
17.解决RecyclerView错乱
18.前置位补0
19..9图在线制作
20.获取当前IP方法
AndroidStudio减少文件的大小
1 2 3 4 5 6 7 8 9 10
| 手动删除以下文件或者目录 Dir : ProjectFolder/build Dir : ProjectFolder/app/build Dir : ProjectFolder/.gradle Dir : ProjectFolder/.idea Dir : ProjectFolder/captures File : ProjectFolder/*.iml File : ProjectFolder/local.properties File : ProjectFolder/.DS_Store File : ProjectFolder/.externalNativeBuild
|
圆形图片
1 2 3 4 5 6 7 8
| 1.compile 'de.hdodenhof:circleimageview:2.1.0' 2.<de.hdodenhof.circleimageview.CircleImageView android:id="@+id/profile_image" android:layout_width="96dp" android:layout_height="96dp" android:src="@drawable/d" app:civ_border_color="#FFFFFF" app:civ_border_width="2dp"/>
|
圆形背景框
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <? xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" android:useLevel="false"> <solid android:color="@color/accent_material_light"></solid> <size android:width="15dp" android:height="15dp"></size> <padding android:bottom="1dp" android:left="2dp" android:right="2dp" android:top="1dp"></padding> </shape>
|
导航栏
1 2 3 4 5 6 7 8 9 10
| BottomNavigationBar 使用add show来切换fragment不要使用replace #隐藏软键盘 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); boolean isOpen = imm.isActive();//isOpen若返回true,则表示输入法打开 if (isOpen) { //强制隐藏键盘 imm.hideSoftInputFromWindow(view.getWindowToken(), 0); } InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(view,InputMethodManager.SHOW_FORCED); //表示强制显示
|
反转List
1
| Collections.reverse(messages);//翻转list
|
加分割横线
1 2 3 4 5 6 7 8
| 1.<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/border_gray"/> <size android:height="1px"/> </shape>
2. android:divider="@drawable/line_shape" android:showDividers="middle"
|
填充满ImageView区域
1
| ImageView android:scaleType="fitXY"
|
设置横竖屏
1 2 3 4
| 设置竖屏 android:screenOrientation="portrait" 设置横屏 android:screenOrientation="landscape"
|
快速编辑”我的界面”
1
| compile 'com.leon:lsettingviewlibrary:1.7.0'
|
参考: GitHub
少量数据存储
1 2 3 4 5 6 7 8 9 10 11 12
| SharedPreferences pref = this.getSharedPreferences("data", MODE_PRIVATE); SharedPreferences.Editor editor = pref.edit(); editor.putString("url", url); editor.putString("map1", map.toString()); // editor.putStringSet("map2", (Set<String>) map); editor.putString("path", path); editor.commit(); SharedPreferences pref2 = this.getSharedPreferences("data", MODE_PRIVATE); String url2 = pref2.getString("url", null);//第二个参数为默认值 String map12 = pref2.getString("map", null); // Set map22 = pref2.getStringSet("map2", null); String path2 = pref2.getString("path", null);
|
一些报错信息处理
1 2 3 4 5 6
| This Gradle plugin requires a newer IDE able to request IDE model level 3 报错。
解决方法: (1): 升级android studio IDE的版本。 (2):在项目的gradle.properties配置文件中加入以下这句: gradle.properties中:android.injected.build.model.only.versioned = 3
|
1 2
| 此问题表示依赖包冲突 java.lang.NoSuchMethodError: No static method setOnApplyWindowInsetsListener
|
隐藏软键盘
1 2 3 4 5
| 思路一: 对最外层标签加事件 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
|
按钮点击波纹效果
1 2 3 4 5 6
| <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/green"> <!-- 按压的颜色 --> <!-- 按钮未点击的样子 --> <item android:drawable="@drawable/lb_grey_border4" /> </ripple>
|
CardView使用方法,此时圆角不受内部元素影响
1 2 3 4 5 6 7 8
| <android.support.v7.widget.CardView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="5dp" android:layout_marginLeft="40dp" android:layout_marginRight="40dp" app:cardCornerRadius="10dp" app:cardElevation="5dp">
|
改变指定字体颜色
1 2
| String source = " <font color='red'>提示:</font> 启动后分机待处理。"; hintText.setText(Html.fromHtml(source));
|
WebView的使用
1 2 3 4 5 6 7 8 9 10 11
| WebSettings webSettings = webView.getSettings(); //设置是否支持缩放 webSettings.setSupportZoom(true); webSettings.setBuiltInZoomControls(true); //设置是否显示缩放按钮 webSettings.setDisplayZoomControls(true); //设置WebView是否允许执行JavaScript脚本,默认false,不允许 webSettings.setJavaScriptEnabled(true); //设置自适应屏幕宽度 webSettings.setUseWideViewPort(true); webSettings.setLoadWithOverviewMode(true);
|
解决RecyclerView错乱
1 2 3 4
| @Override public int getItemViewType(int position) { return position; }
|
前置位补0
1
| String.format("%06d", Integer.valueOf(bean[0])); //前置位补0
|
.9图在线制作
.9图在线制作
获取当前IP方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| public static String getHostIp() { try { Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces(); while (allNetInterfaces.hasMoreElements()) { NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement(); Enumeration<InetAddress> addresses = netInterface.getInetAddresses(); while (addresses.hasMoreElements()) { InetAddress ip = (InetAddress) addresses.nextElement(); if (ip != null && ip instanceof Inet4Address && !ip.isLoopbackAddress() //loopback地址即本机地址,IPv4的loopback范围是127.0.0.0 ~ 127.255.255.255 && ip.getHostAddress().indexOf(":") == -1) { NbLogUtil.d("SystemInfoToC", "getHostIp:" + ip.getHostAddress()); return ip.getHostAddress(); } } } } catch (Exception e) { e.printStackTrace(); } return null; }
|