标签: android-4.0-ice-cream-sandwich

如何在Android 4.0中制作全屏

Android 4.0手机只有虚拟按钮,在全屏播放YouTube /视频时实际上看不见(视频部分接管按钮的位置).

我想这样做,但还没找到办法.

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
Run Code Online (Sandbox Code Playgroud)

要么

requestWindowFeature(Window.FEATURE_NO_TITLE); 
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
Run Code Online (Sandbox Code Playgroud)

不要覆盖虚拟按钮.

这是一个示例,显示我正在谈论的全屏类型:

http://www.youtube.com/watch?v=Lw_O1JpmPns

android-layout android-4.0-ice-cream-sandwich

9
推荐指数
1
解决办法
2万
查看次数

ViewPager或ScrollView中的WebView - Android 3.0+上的奇怪渲染错误

我有一个ViewPager.ViewPager的每个页面都是ScrollView.ScrollView包含WebView和其他几个视图.

在Android 2.3及更早版本上,一切正常,但在3.0+上有一个奇怪的渲染问题:

WebView应该从照片下方开始

在ViewPager中向左/向右滚动时,还会出现非常微妙的渲染问题(Android 4.0 Gmail应用程序中也存在此问题).

android webview hardware-acceleration android-3.0-honeycomb android-4.0-ice-cream-sandwich

8
推荐指数
2
解决办法
6122
查看次数

什么是触发此异常实例:"java.lang.IllegalArgumentException:观察者为空." 怎么可以避免呢?

ListActivity在使用用户选择的项目内容打开新活动后返回原始文件时,我收到此异常.它只发生在冰淇淋三明治上.

这是跟踪:

 java.lang.IllegalArgumentException: The observer is null.
    at android.database.Observable.unregisterObserver(Observable.java:59)
    at android.widget.BaseAdapter.unregisterDataSetObserver(BaseAdapter.java:42)
    at android.widget.AbsListView.onDetachedFromWindow(AbsListView.java:2373)
    at android.view.View.dispatchDetachedFromWindow(View.java:9756)
    at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2274)
    at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2272)
    at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2272)
    at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2272)
    at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2272)
    at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2272)
    at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2272)
    at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2272)
    at android.view.ViewRootImpl.dispatchDetachedFromWindow(ViewRootImpl.java:2227)
    at android.view.ViewRootImpl.doDie(ViewRootImpl.java:3679)
    at android.view.ViewRootImpl.die(ViewRootImpl.java:3667)
    at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:320)
    at android.view.WindowManagerImpl$CompatModeWrapper.removeViewImmediate(WindowManagerImpl.java:139)
    at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3144)
    at android.app.ActivityThread.access$1200(ActivityThread.java:122)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1179)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4340)
    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)

堆栈中没有提到我的代码所以它真的令我困惑,我不能做一个脏的捕获事件:/

DataSetObserver只在创建活动时注册匿名.此外,活动嵌入在ActivityGroup中(在4.0中已弃用,但仍应支持它,我希望如此).

新操作系统有没有人遇到过这个问题?

提前致谢.


更新:

好吧,我想我找到了问题的根源,虽然不知道如何解决它.

里面AbsListView.onDetachedFromWindow()我们有这个:

if (mAdapter != …
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception android-4.0-ice-cream-sandwich

8
推荐指数
1
解决办法
7842
查看次数

为android中的不同版本编写不同的布局

我必须将我的Android应用程序编程为与不同屏幕尺寸(平板电脑和智能手机)以及2.3,3.2和4.0版本的最佳兼容性. 我知道为res/layout-sw600dp /命名布局文件夹的可能性.将布局完全匹配到不同的屏幕尺寸.

因此,因为我将使用完全不同的平板电脑/智能手机布局,我会从"加载屏幕"开始,它会测试使用哪个Android版本以及是否使用了平板电脑或智能手机设备,例如在平板电脑的布局,某些屏幕上会出现按钮,智能手机上不会出现这些按钮.

所以我将在包中分离所有这些,如下所示:

  • 共同
  • 2.3
    • 片剂
    • 手机
  • 3.2
    • 片剂
    • 手机
  • 4
    • 片剂
    • 手机

我会选择这种分离,因为它是最好的方式,在我看来,为即将到来的*更新*做好准备,如果,假设应该在Android 4.0的ToolBar中添加一个Button.

这种分离在你看来是好事还是完全过载?

4.0中我还应该注意其他任何新功能吗?

layout android version screen-size android-4.0-ice-cream-sandwich

8
推荐指数
2
解决办法
9745
查看次数

看起来像ICS的按钮:在ICS SDK中我必须选择哪个可绘制的?

我刚看了一下Ice Cream Sandwich的源代码,因为我试图将Holo Theme移植到所有4.0之前的设备上.

我使用了很多有用的工具:

操作栏:ActionBarSherlock

ICS背景:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
    android:angle="270"
    android:startColor="#ff020202"
    android:endColor="#ff272D33d"
    android:type="linear" />
</shape>
Run Code Online (Sandbox Code Playgroud)

直到现在,一切都很棒!!!

我现在正在尝试创建一个按钮,但找不到正确的背景:

以下来源:https://github.com/android/platform_frameworks_base/blob/master/core/res/res/drawable/btn_default.xml

我试过这个:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
    android:drawable="@drawable/btn_default_normal" />
<item android:state_window_focused="false" android:state_enabled="false"
    android:drawable="@drawable/btn_default_normal_disable" />
<item android:state_pressed="true" 
    android:drawable="@drawable/btn_default_pressed" />
<item android:state_focused="true" android:state_enabled="true"
    android:drawable="@drawable/btn_default_selected" />
<item android:state_enabled="true"
    android:drawable="@drawable/btn_default_normal" />
<item android:state_focused="true"
    android:drawable="@drawable/btn_default_normal_disable_focused" />
<item
     android:drawable="@drawable/btn_default_normal_disable" />
Run Code Online (Sandbox Code Playgroud)

我将每个.9.png文件复制到我的drawable文件夹中.

但不幸的是,所有这些drawable似乎相当白,我无法得到类似于这个按钮的东西:

http://cdn3.staztic.com/screenshots/combourkekitchentimer-2-0.jpg

以下是所有资源:

btn_default_normal_holo_dark.9.png

在此输入图像描述

btn_default_normal_holo_light.9.png

在此输入图像描述

btn_default_normal.9.png

在此输入图像描述

android button drawable android-4.0-ice-cream-sandwich

8
推荐指数
1
解决办法
3186
查看次数

查找窗口失败 - 来自2个星系关系的相同应用程序的不同行为

我有两部Galaxy Nexus手机.手机是相同的固件版本4.0.2,相同的内部版本号,相同的内核版本.当我使用Eclipse将相同的应用程序部署到两个手机时,我看到每个手机都有不同的行为.

在一部手机上,一切都按预期工作.在另一部手机上,当切换到另一个活动并返回到主活动时,主活动崩溃,通过后退按钮和其他活动完成并返回到创建它的活动.我遇到这个问题的唯一线索是这个错误:

04-18 17:43:30.811: I/ActivityManager(207): Displayed org.mitre.Mobile/.Activities.QueryActivity: +430ms
04-18 17:43:30.819: I/n*.w*.w*.ZoomButtonsCo*(4962): invoke: onVisibilityChanged listener: org.osmdroid.views.MapView$MapViewZoomListener@4181ecd8
04-18 17:43:30.843: E/InputQueue-JNI(4962): channel '41d66628 Panel:org.mitre.Mobile/org.mitre.Mobile.Activities.MobileActivity (client)' ~ Publisher closed input channel or an error occurred.  events=0x8
04-18 17:43:30.843: W/WindowManager(207): Force-removing child win Window{41d66628 Panel:org.mitre.Mobile/org.mitre.Mobile.Activities.MobileActivity paused=false} from container Window{420815c8 org.mitre.Mobile/org.mitre.Mobile.Activities.MobileActivity paused=false}
04-18 17:43:30.850: W/WindowManager(207): Failed looking up window
04-18 17:43:30.850: W/WindowManager(207): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@41f9e658 does not exist
04-18 17:43:30.850: W/WindowManager(207):   at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7029)
04-18 17:43:30.850: W/WindowManager(207):   at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7020)
04-18 17:43:30.850: W/WindowManager(207):   at com.android.server.wm.WindowManagerService.removeWindow(WindowManagerService.java:2180)
04-18 …
Run Code Online (Sandbox Code Playgroud)

android android-activity android-4.0-ice-cream-sandwich

8
推荐指数
1
解决办法
2万
查看次数

选项卡图标未显示

我正在尝试用两个标签在android中做一个简单的标签应用程序.我的问题是,当我把这个代码放在选项卡中时,只显示文本,但没有显示图标.如果我将文本放到"",则显示图标.

有人能帮助我吗?我的Android版本是4.0.3.

非常感谢.

<?xml version="1.0" encoding="utf-8"?>

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/tabhost"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent" >
<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

     <TabWidget android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@android:id/tabs" />

     <FrameLayout android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@android:id/tabcontent" >

        <LinearLayout android:id="@+id/tab1"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
            <TextView android:id="@+id/textView1"
                android:text="Contenido Tab 1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
    </LinearLayout>

        <LinearLayout android:id="@+id/tab2"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
            <TextView android:id="@+id/textView2"
                android:text="Contenido Tab 2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
    </LinearLayout>

     </FrameLayout>
</LinearLayout>
</TabHost>
Run Code Online (Sandbox Code Playgroud)

而活动代码是

public class TabTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle …
Run Code Online (Sandbox Code Playgroud)

tabs android android-tabhost android-4.0-ice-cream-sandwich

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

Android Accelerated模拟器不断重启

我习惯在真实设备和AVD上测试应用程序.由于ICS虚拟设备非常慢,我决定尝试加速仿真器.我按照说明使用英特尔虚拟化技术(x86系统映像目标)成功设置了加速虚拟机.

模拟器工作,而且速度非常快.但是在第二个应用程序上传/安装时,它突然重新启动.它在第一次启动/上传时总能正常工作,但是当我编辑某些东西并再次测试应用程序时,它会"从头开始"重新启动(显示android徽标).

我没有使用快照保存/恢复.LogCat 不会报告错误,我使用的是Android SDK工具Rev.20和platform-tools rev.12,关于Win7.

Intelhaxm似乎工作正常,报告"运行"状态.重启后,我必须再次上传应用程序,这很烦人.

有没有人遇到同样的问题,也许解决了它?

android android-emulator android-4.0-ice-cream-sandwich

8
推荐指数
1
解决办法
2547
查看次数

什么是Android 4.0中的RemoteControlClient?

我知道StackOverflow的规则,因此事先为这个主观问题道歉.

我尝试了文档,但它说的是:

RemoteControlClient可以显示意图由能够显示元数据,艺术作品和媒体传输控制按钮的遥控器使用的信息.

远程控制客户端对象与媒体按钮事件接收器相关联.在通过registerRemoteControlClient(RemoteControlClient)注册RemoteControlClient之前,此事件接收器必须先在registerMediaButtonEventReceiver(ComponentName)中注册.

我不了解其他人,但对我而言,这些文档还不足以出现像"RemoteControlClient"这样酷炫的名字.

我搜索了很多论坛但不幸的是,这个概念对我来说仍然不清楚.

如果有人帮我理解它,它是如何工作的,最重要的是它能够做到的一切,那真的很感激.

在此先感谢并向主观问题提出道歉.

android android-4.0-ice-cream-sandwich

8
推荐指数
1
解决办法
5056
查看次数

不使用Android支持库时,等效的NavUtils?

Android开发者谷歌集团(链接)上也有人问过这个问题,但它没有答案......

我最近从Eclipse中的Android项目中删除了v4支持库,因为我的应用程序仅针对Android 4.0(Ice Cream Sandwich)及以上版本.我现在正在浏览所有给我错误的支持库引用.

特别是NavUtils,它似乎是Activity导航中使用的支持库类.例:

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    }
    return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)

什么是NavUtils不使用支持库时的等价物?

navigation android android-version android-4.0-ice-cream-sandwich android-support-library

8
推荐指数
1
解决办法
1173
查看次数