据我所知,默认情况下(pre ICS),要区分平板电脑和智能手机,开发人员可以在Android Manifest中使用sdk版本(除了屏幕尺寸和openGL过滤器).现在,在SP和平板电脑上运行ICS,开发人员有什么选择,以防我需要区分SP和平板电脑?
我认为屏幕尺寸不可靠.
让我们说,由于某些原因,我不能有SP和平板电脑的常见apk.我还想避免单独的平板电脑和SP应用程序
当我在FULLSCREEN中尝试在webview中播放嵌入视频时,我正在获得NPE.它适用于3.0蜂窝,但不适用于ICS 4.0+.知道如何解决这个问题吗?
java.lang.NullPointerException
at android.webkit.PluginFullScreenHolder.show(PluginFullScreenHolder.java:85)
at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:8849)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
任何建议都将非常感激.谢谢
我目前在Play商店有一个平板电脑和智能手机运行Android 3.0+(http://tinyurl.com/cnejnjs)的应用程序.为了吸引更多用户,我正在考虑让应用程序在大量设备上运行.
我知道ActionBar Sherlock,这似乎几乎可以做我想要的一切.它没有提供的一件事是我在当前应用程序中使用的搜索小部件.
有没有办法在操作栏中有一个搜索框,它以与默认搜索小部件的工作方式类似的方式更新屏幕上的当前列表片段?
android android-layout android-4.0-ice-cream-sandwich actionbarsherlock android-actionbar
据我所知,这是可能的,从这里 检测toast消息 但是我无法通过链接捕获任何带有代码片段的事件.
MyAccessibilityService.java
package com.test.toasts2;
import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.app.Notification;
import android.os.Parcelable;
import android.view.accessibility.AccessibilityEvent;
import android.widget.Toast;
public class MyAccessibilityService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
System.out.println("event catched");
Toast.makeText(this, "catched " + "!", Toast.LENGTH_SHORT).show();
if(event.getEventType() != AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED)
return; // event is not a notification
String sourcePackageName = (String)event.getPackageName();
Parcelable parcelable = event.getParcelableData();
if(parcelable instanceof Notification){
// Statusbar Notification
}
else{
// something else, e.g. a Toast message
String log = "Message: "+event.getText().get(0)+" [Source: "+sourcePackageName+"]";
System.out.println(log);
// …Run Code Online (Sandbox Code Playgroud) android accessibility-api toast android-4.0-ice-cream-sandwich
我们正在编写一个针对ICS +的应用程序,并认为GridLayout是最好的布局范例,但似乎很少有关于它的文章,我们遇到了一些对齐问题.
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row_background"
android:rowCount="1"
android:columnCount="3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:useDefaultMargins="true"
android:background="@drawable/list_item_bg">
<ImageView
android:id="@+id/visibilityIcon"
android:layout_row="0"
android:layout_column="0"
android:src="@drawable/visibility_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>
<ImageView
android:id="@+id/windIcon"
android:layout_row="0"
android:layout_column="1"
android:src="@drawable/wind_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>
<ImageView
android:id="@+id/crosswindIcon"
android:layout_row="0"
android:layout_column="2"
android:src="@drawable/cloud_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>
</GridLayout>
Run Code Online (Sandbox Code Playgroud)
但是,左侧2图标保持左对齐,最右侧图标以剩余空间居中.
基本上我们需要做的是将每列的大小指定为总屏幕大小的1/3(自3列).我认为这就是GridLayout所做的,但看起来'wrap_content'会导致这种行为(有意义),但'match_parent'会导致第一列填满整个屏幕,而不是填充其单元格,这是我预期的行为.
我们似乎已经尝试过重力,layout_gravity等的所有组合,但要么我们从根本上做错了什么,要么发现了GridLayout的限制.
谢谢你的帮助!
android alignment grid-layout xml-layout android-4.0-ice-cream-sandwich
在ActionBar中扩展时,我的问题与SearchView错误对齐和SearchView位置密切相关,但是那里发布的答案不起作用.
所以,我在Action Bar中使用了SearchView:
<item android:id="@+id/action_search"
android:icon="@drawable/navi_search"
android:title="@string/action_search"
android:showAsAction="ifRoom|collapseActionView"
android:actionViewClass="android.widget.SearchView"
/>
Run Code Online (Sandbox Code Playgroud)
它默认看起来像这样(右上角,溢出菜单旁边):

问题是,当扩展时,我希望SearchView保持在右侧,而是移动到左边缘,在主页按钮(应用程序图标)旁边.
我尝试更改showAsAction为其中任何一个(如此处所示):
android:showAsAction="ifRoom"
android:showAsAction="always"
Run Code Online (Sandbox Code Playgroud)
...这会在展开时修复对齐,但在折叠状态下自定义图标会丢失:

此外,像的东西android:layout_alignParentRight="true",并android:layout_centerInParent="true"在菜单上<item>没有任何效果.
有任何想法吗?
我的目标是Android 4.0及以上版本:
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />
Run Code Online (Sandbox Code Playgroud) android android-layout android-4.0-ice-cream-sandwich android-actionbar searchview
(修改后的...现在我正在运行JB,并且仍然遇到了一年多前我遇到的同样的问题)
我在我的Xoom和Galaxy S3(CM10.1)上安装了Jellybean(4.2),并且我正在尝试编写一个Tasker插件,以便在wi-fi连接变为活动状态时自动连接到PPTP或L2TP VPN.
与之前版本的Android不同,ICS最终允许使用保存的用户名和密码定义VPN,因此看起来基本上所有内容都支持新的公共意图,即"尝试连接到$ {vpn}".但是,如果存在这样的意图,我还没有找到任何文件.有人可以指点我正确的方向吗?(包名,搜索的魔术短语等)?
我一直在编写一个小应用程序,基本上将其内容从本地存储的HTML和CSS加载到WebView中.我最初是在运行Android 2.3并且没有问题的设备时启动的.我最近得到了一个Galaxy Nexus,但CSS似乎没有加载到ICS中.
我读过一些建议启用硬件加速会有所帮助,但它没有做任何事情.我现在完全失去了.Javascript似乎加载得很好,结合它在2.3上运行良好,表明它不是我加载CSS的方式.
有没有人见过类似的东西?该应用程序无法使用,没有一些触摸友好的CSS.
提前致谢.
编辑:理想情况下,我需要这个来处理2.2+以上的所有Android版本.不确定它是否有所作为,但我认为它可能是相关的.
对于我们的某个安全应用,需要在Android ICS中禁用该应用的屏幕截图功能.这是否可以在非root设备上使用?
谢谢,
拉贾斯
我想制作一些如下所示的按钮:

我在android.widget包中看起来很难预设ICS,但我找不到任何东西.我认为必须有一个简单的方法,因为它们似乎是整个操作系统版本的主题.如果有人知道如何使按钮看起来像这些我会是一个快乐的露营者.
android android-widget android-layout android-4.0-ice-cream-sandwich
android ×10
android-4.0-ice-cream-sandwich ×10
alignment ×1
apk ×1
css ×1
google-play ×1
grid-layout ×1
screenshot ×1
searchview ×1
security ×1
toast ×1
vpn ×1
webview ×1
xml-layout ×1