android:background="@android:color/transparent"
Android样式开发之shape详细使用
授人以鱼不如授人以渔:本篇文章不仅告诉你如何使用shape,更会告诉你初学shape该怎么学习?希望对你有用!
说明:什么是shape呢?有什么用呢?我们平常在开发当中,通常会遇到这样的情况,就是会给控件增加一个背景,比如button,textview等!可以说shape就是一个形状定义工具。是xml绘图当中非常重要的一个工具,这样说你可能还是不太理解,那么我们就用实例来说明。你可能见过这样的的登录界面。
我们知道以上三个控件一般是两个EditText和一个Button,这个我们都会,但是你却发现上面的控件是有形状的,而且这个button还是有背景色的,你说可以给button设置背景色啊,但是你发现没,他这个背景色还不是纯色而是渐变的,这样的效果该怎么实现呢?你可能会说找一个这样的图片当背景,这倒是一种办法,但是这样不仅会增加apk的大小,而且实现起来也不一定就是这样的效果,其实要实现这样的效果,最好的方法就是使用shape。
Android下拉控件Spinner的使用
代码:
Spinner spinner = findViewById(R.id.spinner); // 获取下拉控件 spinner.setDropDownVerticalOffset(62); // 下拉的纵向偏移 String[] spinnerItems = {"请选择楼号", "1号楼", "2号楼", "3号楼"}; // 数据 // 自定义选中的界面样式(上下文,样式,文本框资源Id,数组) ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(this, R.layout.item_select, R.id.text, spinnerItems); // 自定义下拉的界面样式 spinnerAdapter.setDropDownViewResource(R.layout.item_drop); // 设置适配器 spinner.setAdapter(spinnerAdapter); // 设置Item选择监听器 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { Log.i(TAG, "onItemClick: spinnerItem"); } @Override public void onNothingSelected(AdapterView<?> parent) { Log.i(TAG, "onNothingSelected: spinnerItem"); } });
Android手机去掉底部虚拟按键栏方法
Android手机屏蔽状态栏下拉
Android 隐藏底部菜单
/** * 隐藏底部菜单 */ protected void hideBottomUIMenu() { View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN; decorView.setSystemUiVisibility(uiOptions); }
使用NetworkInterface类获得网络接口信息
JAVA合并多个byte[]为一个byte[]
private static byte[] byteMergerAll(byte[]... args) { int length_byte = 0; for (byte[] b : args) { length_byte += b.length; } byte[] all_byte = new byte[length_byte]; int countLength = 0; for (byte[] b : args) { System.arraycopy(b, 0, all_byte, countLength, b.length); countLength += b.length; } return all_byte; }
参考链接:
Android 获取MAC地址
/** * 获取无线网络Mac地址 * * @return */ private static String getWifiMac() { return readFile("/sys/class/net/wlan0/address").toUpperCase(); } /** * 获取有线网络Mac地址 * * @return */ private static String getLocalMac() { return readFile("/sys/class/net/eth0/address").toUpperCase(); } /** * 读取文件内容 * * @param filePath * @return */ private static String readFile(String filePath) { StringBuilder sb = new StringBuilder(); try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) { String line; while ((line = reader.readLine()) != null) { if (sb.length() > 0) { sb.append("\n"); } sb.append(line); } } catch (IOException e) { e.printStackTrace(); } return sb.toString(); }
PS:笔者是在定制安卓设备上面开发,用该方式获取Mac地址没问题。
PS2:手机上因为权限问题很可能获取不了Mac地址,请自行测试。
PS3:不过一般来说,手机上也不用获取有线网络的Mac地址才对。
参考链接: