Android | 实用代码片段(2)
1.手动设置横竖屏
1 | getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); |
2.暂时性设置隐藏 StatusBar,点击屏幕后会再次出现,可用于全屏播放视频的时候.
1 | View.setSystemUiVisibility(int visibility) |
- View.SYSTEM_UI_FLAG_VISIBLE:显示状态栏,Activity 不全屏显示(恢复到有状态的正常情况)。
- View.INVISIBLE:隐藏状态栏,同时 Activity 会伸展全屏显示。
- View.SYSTEM_UI_FLAG_FULLSCREEN:Activity 全屏显示,且状态栏被隐藏覆盖掉。
- View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity 全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity 顶端布局部分会被状态遮住。
- View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
- View.SYSTEM_UI_LAYOUT_FLAGS:效果同 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
- View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。
- View.SYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile 模式),状态栏上一些图标显示会被隐藏。 3.线程安全的一种写法
1 | private static final Object sDecodeLock = new Object(); |
4.去掉 Actionbar 下的阴影
1 | <style name="MyAppTheme" parent="android:Theme.Holo.Light"> |
5.子控件接收父控件的状态:无需 Java 代码即可实现点击父控件,变化子 TextView 的颜色.
1 | android:duplicateParentState="true" |
6.获取 ListView 滑动高度,这里是默认每个 itemView 的高度相等.
1 | public int getScrollY() { |
7.限制 value 的范围大小,value 最大为 max,最小为 min
1 | public float clamp(float value, float min, float max) { |
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Gavin Liu - 代码人生与科技生活
评论