相关疑难解决方法(0)

可靠地获取状态栏的高度以解决KitKat半透明导航问题

我正在尝试新的Android 4.4半透明导航栏,并希望使用FLAG_TRANSLUCENT_NAVIGATION标志将导航栏设置为半透明.我只希望导航栏(背面,主页按钮等)是半透明的 - 我希望屏幕顶部的状态栏显示为正常而不是半透明.

我用来实现这个目的的代码是:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    Window w = getWindow();
    w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是Android现在认为Activity是全屏的并且将布局放在导航栏后面(这是正确的),不幸的是它也将布局放在状态栏后面(一个问题).

一个hacky修复此问题的方法是将填充应用于布局父视图的顶部,但是我需要确定状态栏的高度来执行此操作.

任何人都可以建议我如何获得状态栏高度,它不像我想象的那样微不足道,或者建议一个正确的解决方案.

谢谢

android view android-layout android-4.4-kitkat

26
推荐指数
2
解决办法
3万
查看次数

如何将NativeActivity的内容视图设置为在Java中创建的组件

有没有办法将NativeActivity的内容设置为用Java创建的组件(例如FrameLayout,ImageView等)?我需要使用NativeActivity(用于在Xperia Play上获取触摸板输入),但我还需要能够查看在Java代码中创建的组件.

我已经尝试重写onCreate命令并在那里调用setContentView,但是虽然这不会引发任何错误,但它也没有做任何事情(显然是因为内容视图已经由本机代码设置).是否存在某种窗口ID或者我可以传递给本机代码以告诉它内容视图应该是什么,或者可以在XML中以某种方式设置它以将NativeActivity的内容视图设置为我可以修改的组件来自Java?

如果您需要更多信息,请与我们联系.

android android-ndk native-activity

7
推荐指数
1
解决办法
3443
查看次数