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

无法让Android 4.0 Split Action Bar正常工作

我已经按照android开发网站上的开发页面进行了操作,但我无法将操作栏拆分为屏幕的顶部和底部.

我有一个菜单xml定义了几个选项:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@+id/stop_services"
    android:icon="@drawable/ic_launcher"
    android:title="@string/stop" 
    android:showAsAction="ifRoom|withText"/>
  <item android:id="@+id/start_services"
    android:icon="@drawable/pushpin"
    android:title="@string/start" 
    android:showAsAction="ifRoom|withText"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

在我的清单中,我将uiOption设置为:

<activity
  android:label="@string/app_name"
  android:name=".ProxilenceHome" 
  uiOptions="splitActionBarWhenNarrow" >
Run Code Online (Sandbox Code Playgroud)

我在活动中加载菜单项如下:

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.home_menu, menu);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

但是在测试应用程序时,操作栏永远不会分裂.有谁知道这个问题/如果我错过了什么?

非常感谢.

android android-4.0-ice-cream-sandwich android-actionbar

6
推荐指数
1
解决办法
7692
查看次数

在Android 4.0.3中设置textview淡入淡出

我刚尝试TextView在Android 4.0.3中实现淡入淡出效果; 但是,它不起作用.

fadingEdge="horizontal"
singleLine="true"
ellipsize="marquee"
Run Code Online (Sandbox Code Playgroud)

此代码适用于2.3.7及更低版本,但不适用于4.0.3.我想知道为什么会这样?以及如何使褪色效果TextView

我的问题与此问题相同:http://groups.google.com/group/android-developers/browse_thread/thread/97131b20de8b2ebd,但尚未回答.

android textview android-4.0-ice-cream-sandwich

6
推荐指数
1
解决办法
4285
查看次数

在ICS中,是否可以从代码(以编程方式)设置"限制后台数据"设置?

在ICS中,现在网络 - >数据使用设置屏幕中的"限制后台数据"设置.

有没有办法以编程方式为我的应用程序设置"限制后台数据"?

要么

有没有办法提出具有我的应用程序选项的"数据使用"设置?

android android-4.0-ice-cream-sandwich

6
推荐指数
1
解决办法
3310
查看次数

为什么我不能强制我的一个视图在软件中渲染?

在我的自定义视图中,我使用Canvas.drawBitmap,其源位图比2048px宽.这当然会在启用硬件加速时引起问题,每次调用drawBitmap时,LogCat会喷出"W/OpenGLRenderer(4968):位图太大而无法上传到纹理".

所以为了解决这个问题,我试着调用setLayerType(View.LAYER_TYPE_SOFTWARE, null)我的观点.唯一的问题是它似乎没有帮助.当我尝试运行我的应用程序时,LogCat仍然会发出警告,并且最终都不会被绘制.

我不明白为什么会这样.Android网站上的这篇文章明确指出:

您可以使用以下代码在运行时禁用单个视图的硬件加速:

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
Run Code Online (Sandbox Code Playgroud)

有什么我做错了吗?为什么Android不尊重setLayerType调用?


[万一重要:我正在运行Android 3.2的三星Galaxy Tab 10.1上进行测试]

android hardware-acceleration android-custom-view android-4.0-ice-cream-sandwich

6
推荐指数
1
解决办法
786
查看次数

冰淇淋三明治init.rc文档

在冰淇淋三明治中init.*.rc的行为似乎已经发生了变化.以前,我已经能够在启动时使用以下条目启动服务:

service my_kool_service /system/bin/my_kool_service
Run Code Online (Sandbox Code Playgroud)

我确实找到了这篇帖子,它提示改为:

service my_kool_service /system/bin/my_kool_service
    class main
Run Code Online (Sandbox Code Playgroud)

那是什么class main,为什么有必要呢?

本文档确实讨论了class" 选项 ",但未提供有关默认行为或观察到的更改的详细信息.

当前的ICS init rc语言是在任何地方,正式或其他方式记录的吗?

谢谢.

service android system init android-4.0-ice-cream-sandwich

6
推荐指数
1
解决办法
7021
查看次数

Android ICS ListView刷新问题

我的Android应用程序上有一个ListView,我动态地更改了它的数据.我使用该onFilterComplete()方法来更改ListView的内容.

预冰淇淋Sandwhich以下代码正常工作:

if(adapter != null) {

  adapter.notifyDataSetInvalidated();
  lview3.invalidateViews();

  adapter.getFilter().filter(aa1.getItem(item), new Filter.FilterListener() {
  public void onFilterComplete(int count) {
    adapter.notifyDataSetChanged();

    if(lview3.getCount() == 0){
      lview3.setVisibility(View.GONE);                                     
    }
    else{
      lview3.setVisibility(View.VISIBLE);
    }
}});
Run Code Online (Sandbox Code Playgroud)

但是在Ice Cream Sandwhich上,当我使用过滤器时,屏幕没有正确刷新,如果过滤器返回的数量小于之前的ListView,那么旧的列表数据似乎仍然在后台可见,按照这个屏幕截图:

在此输入图像描述

从屏幕截图中你可以看到ListView中第一个条目的位置,这是应该可见的所有内容,你可以看到前面的结果在下面仍然可见,这些只是可见它们不起作用,因为它们不能被点击,就像屏幕没有正确刷新一样.

当我选择主页按钮以通过主屏幕离开应用程序并返回所有内容时,应如下面的屏幕截图所示:

在此输入图像描述

还有什么我必须实现以正确刷新Ice Cream Sandwhich上的ListView吗?有没有其他人遇到过类似的问题?

我在ICS之前做得很好.

android listview refresh android-ui android-4.0-ice-cream-sandwich

6
推荐指数
1
解决办法
1063
查看次数

我如何让我的ShareActionProvider动态地(从听众)查看寻呼机等提交文本

我正在使用Sherlock Library Action Bar,它类似于ICS动作栏,我被困的地方就是这个

    @Override
public boolean onCreateOptionsMenu(Menu menu) {

    menu.add("Save")
    .setIcon(R.drawable.ic_compose).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);

    menu.add("Search")
    .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    SubMenu sub = menu.addSubMenu("Options");
    sub.add(0, SubMenu.NONE, 0, "First");
    sub.add(0,SubMenu.NONE, 1, "Second");
    sub.add(0, SubMenu.NONE, 2, "Three");
    sub.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    // HERE IS WHere I AM FACING PROBLEM IN
    getSupportMenuInflater().inflate(R.menu.share_action_provider, menu);
    // Set file with share history to the provider and set the share intent.
    actionItem = menu.findItem(R.id.menu_item_share_action_provider_action_bar);
    ShareActionProvider actionProvider = (ShareActionProvider) actionItem.getActionProvider();
    actionProvider.setShareHistoryFileName(ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME); //this is BRILLIANT WAY TO AVOID REPEATation
    actionProvider.setShareIntent(createShareIntent());

    return super.onCreateOptionsMenu(menu);
}

private …
Run Code Online (Sandbox Code Playgroud)

android android-4.0-ice-cream-sandwich actionbarsherlock shareactionprovider

6
推荐指数
1
解决办法
1394
查看次数

Android 4上的默认浏览器来自哪里?

题:

Android 4上的默认浏览器来自哪里?

用户代理字符串仅包含Safari,而不包含Chrome.

如果我进入Android市场,下载并安装Chrome,Firefox和Opera Mobile,那么我的网站就可以很好地显示出来.

它还可以在Safari,Internet Explorer(9 + 8)和iPad上显示(仅在经过大量工作后才能在iPad上显示).

但它在Android 4默认浏览器中看起来很糟糕.更糟糕的是,我无法做任何事情:
我无法在Android设备上调试,我无法安装USB驱动程序进行远程调试(我在公司笔记本电脑上没有管理员权限),在android模拟器是不切实际的,因为它太慢了,事实上它没有从计算机键盘输入,这意味着我必须使用鼠标并在这个可怕的键盘上用鼠标分别键入每个字符只是提示冰山一角

默认浏览器似乎也不包含任何类型的开发人员工具,我可以在其中查看样式或JavaScript脚本控制台.

我没有找到任何类型的独立浏览器或模拟器,以便我可以在Windows或Linux上本地运行那个可怕的东西,所以我实际上可以调试LAYOUT(而不是javascript).

当我查看浏览器进程时,它说:

com.android.browser
Run Code Online (Sandbox Code Playgroud)

对我来说,它看起来像Java命名空间.

这个可怕的东西来自Java渲染引擎吗?
如果是,哪一个,是否存在使用此引擎的Java浏览器,我可以运行?

java browser android android-4.0-ice-cream-sandwich

6
推荐指数
1
解决办法
7980
查看次数

Android 4中的自定义切换小部件

我对Android 4中的切换按钮感到疯狂.

首先,我设置了一个选择器作为背景,从drawable文件夹中选择了两个不同的PNG文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/form_switch_no" android:state_checked="false"/>
    <item android:drawable="@drawable/form_switch_ok" android:state_checked="true"/>
    <item android:drawable="@drawable/form_switch_no"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

但我不知道为什么他们是x-scaled.我想管理这个大小,但我试图改变layout_width/height/weight ...没有成功.

我还有一个自定义PNG文件用作交换机的拇指.我还需要管理这个拇指的大小,因为如果我将textOn和textOff propments设置为"",拇指的大小就会非常小.此外,我想改变背景的拇指填充,因为它不会出现居中.

这是我的Switch XML定义:

<Switch
    android:id="@+id/switchUsers"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/user"
    android:textOn=""
    android:textOff=""
    android:thumb="@drawable/form_switch_slider"
    android:track="@drawable/switch_user_selector" />
Run Code Online (Sandbox Code Playgroud)

我试图改变图像大小并使它们成为九个补丁,但我无法达到目标.

任何帮助将不胜感激.谢谢!

android android-4.0-ice-cream-sandwich

6
推荐指数
1
解决办法
9100
查看次数

如何在Android中在矩形内剪切圆形路径

我已经阅读了20多个问题/答案,但是仍然找不到我想要的东西。我想在矩形内切一个圆,如下所示:

在此处输入图片说明

这是我的代码:

@Override
protected void onDraw(Canvas canvas) {
    Paint paint = new Paint();
    paint.setStyle(Paint.Style.FILL);
    paint.setARGB(180, 0, 0, 0);
    canvas.drawRect(0, 0, getWidth(), getHeight(), paint);
    Path circularPath = new Path();
    circularPath.addCircle(getWidth() / 2, getHeight() / 2, radius, Path.Direction.CCW);
    canvas.clipPath(circularPath, Region.Op.REPLACE);
    canvas.drawColor(0x00000000);


}
Run Code Online (Sandbox Code Playgroud)

我的背景(setARGB)正确显示,但是没有剪切。我还通过调用构造函数尝试了OpREPLACE强制软件光栅化(如我在某些Android版本clipPath上不支持某些Ops)外的其他值setLayerType(LAYER_TYPE_SOFTWARE, null);,但无济于事。如何达到理想的效果?

注意:我的最低SDK版本是15,所以我不需要支持4.0以下的版本。

android clipping custom-draw ondraw android-4.0-ice-cream-sandwich

6
推荐指数
2
解决办法
4242
查看次数