我们在我们的应用程序中应用了新的Android KitKat半透明主题,当键盘出现时,我们遇到了一个奇怪的问题.如果我们不使用新android:windowTranslucentStatus
属性,则所有内容都照常工作:屏幕调整大小,并且所有内容都保持可见.但是当我们使用时android:windowTranslucentStatus
,屏幕不会调整大小,我们EditText
会被键盘隐藏.
问题的一个示例:
屏幕之间的唯一区别在于样式中的属性:
第一个屏幕:
<item name="android:windowTranslucentStatus">false</item>
第二个屏幕:
<item name="android:windowTranslucentStatus">true</item>
我们认为这是Kitkat发布的一个错误,但我们希望您了解这一点.我们有点生气了.当然,如果有人有解决方案,那将是惊人的.
编辑:我刚刚将此问题添加到Android问题跟踪器.您可能有兴趣主演此问题:https://issuetracker.google.com/issues/36986276
用于发送完美工作的短信的代码,直到Android 4.3(Jelly Bean)自4.4以来停止工作(KitKat)
我只是为用户准备了短信,但他需要选择要发送的号码
我使用的代码是:
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.setData(Uri.parse("sms:"));
sendIntent.putExtra("sms_body", smsText);
activity.startActivity(sendIntent);
Run Code Online (Sandbox Code Playgroud)
由于它停止工作我想也是ACTION_SEND
和ACTION_SENDTO
两人都没有工作,我也试过了sendIntent.setType("vnd.android-dir/mms-sms");
,又没有什么工作.
我在stackoverflow 回答1和回答2中寻找了几个答案,但两个答案都没有处理我的要求.
我想做什么:
对于主持人:这不是一个重复的问题,因为问题,并没有问完全相同的事情,这里需要发送没有电话号码的短信,没有问题和答案处理.
如何在Android 4.4.X及更高版本上使导航栏透明?
我在文档中搜索过,但没有发现任何相关信息.
这必须是4.4,但我没有发现这方面的文件 - 谁知道如何使状态栏/系统ui透明/半透明?
我将android-studio 3.0从canary 5更新为canary 6,然后突然我的应用程序在KitKat(API 19)上发生崩溃,下面是stacktrace.
Main2Activity.java:10行是我的活动onCreate()方法的第一行.
07-11 13:00:39.523 8913-8913/dcpl.com.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: dcpl.com.myapplication, PID: 8913
java.lang.RuntimeException: Unable to start activity ComponentInfo{dcpl.com.myapplication/dcpl.com.myapplication.Main2Activity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f070058
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2318)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)
at android.app.ActivityThread.access$800(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:149)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:633)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f070058
at android.content.res.Resources.getValue(Resources.java:1173)
at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:332)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:197)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:190)
at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:711)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:195)
at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:81)
at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:131)
at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:155)
at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:31)
at …
Run Code Online (Sandbox Code Playgroud) 当使用新的Android 4.4 KitKat API中的半透明状态和导航栏时,设置fitsSystemWindows="true"
和最初clipToPadding="false"
的ListView
工作.fitsSystemWindows="true"
将列表保留在操作栏下方和导航栏上方,clipToPadding="false"
允许列表在透明导航栏下滚动,并使列表中的最后一项向上滚动到足以通过导航栏.
但是,当您Fragment
通过消失FragmentTransaction
的效果将内容替换为另一个内容时fitsSystemWindows
,该片段会进入操作栏和导航栏.
我在这里有一个演示源代码的代码库以及一个可下载的APK作为示例:https://github.com/afollestad/kitkat-transparency-demo.要查看我正在谈论的内容,请从运行KitKat的设备中打开演示应用,点击列表中的项目(这将打开另一个活动),然后点击打开的新活动中的项目.替换内容的片段位于操作栏下,并且clipToPadding无法正常工作(当您向下滚动时,导航栏将覆盖列表中的最后一项).
有任何想法吗?需要澄清吗?我发布了为我的雇主开发的个人应用程序的前后屏幕截图.
从android studio 3.0 Android Monitor
转向Android profiler
.但是,当使用谷歌玻璃设备或其他Android kitkat设备时,它在android profiler窗口中显示以下消息:
Device not supported. Android profiler requires a device with API 21(Lollipop) or higher.
一旦android studio 3.0可用于稳定版本更新,Kitkat设备使用最新Android Profiler的解决方案是什么?
profiler android-studio android-4.4-kitkat android-studio-3.0
我正在尝试新的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修复此问题的方法是将填充应用于布局父视图的顶部,但是我需要确定状态栏的高度来执行此操作.
任何人都可以建议我如何获得状态栏高度,它不像我想象的那样微不足道,或者建议一个正确的解决方案.
谢谢
我们正在创建一个使用webview的应用程序,并将访问用户需要上传文件的页面.我们遇到Android 4.4问题,文件选择器无法打开,单击上传按钮不会发生任何事情.此功能适用于使用openFileChooser方法的早期版本,如下所示:
webview.setWebChromeClient(new WebChromeClient() {
//The undocumented magic method override
//Eclipse will swear at you if you try to put @Override here
// For Android 3.0+
public void openFileChooser(ValueCallback<Uri> uploadMsg) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
MainActivity.this.startActivityForResult(Intent.createChooser(i, "File Chooser"), FILECHOOSER_RESULTCODE);
}
// For Android 3.0+
public void openFileChooser(ValueCallback uploadMsg, String acceptType) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
MainActivity.this.startActivityForResult(
Intent.createChooser(i, "File Browser"),
FILECHOOSER_RESULTCODE);
}
//For Android 4.1
public void openFileChooser(ValueCallback<Uri> uploadMsg, …
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,大多数时候需要全屏.我知道如果显示警报或显示其他窗口,则在活动窗口的顶部,会暂时删除全屏.不幸的是,当为EditText或其他东西显示软键盘时,当用户完成键盘时,不会恢复全屏沉浸式模式.
知道如何实现这一目标吗?
android ×9
fragment ×1
fullscreen ×1
hangout ×1
java ×1
profiler ×1
transparent ×1
view ×1
webview ×1