我继承了Holo Light主题并使用以下内容自定义ActionBar的背景:
styles.xml的内容
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ActionBar" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:background">@drawable/actionbar_background</item>
</style>
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
actionbar_background.xml的内容
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@raw/actionbar_background"
android:tileMode="repeat" />
Run Code Online (Sandbox Code Playgroud)
图像被拉伸,而不是重复,任何想法为什么android:tileMode ="重复"不适用?
提前致谢
我发现自己好奇为什么Notification.Builder上的setLargeIcon方法只接受一个Bitmap,没有重载来提供资源id.也许这是出于性能原因而做的,但似乎很奇怪,因为setSmallIcon确实接受了res drawable id.
Notification.Builder builder = new Notification.Builder(application);
// ....
builder.setLargeIcon(iconBitmap); // Requires a Bitmap
builder.setSmallIcon(iconResId); // Requires a drawable resource ID
Notification notification = builder.getNotification();
Run Code Online (Sandbox Code Playgroud)
遗憾的是,提供的位图未在通知中缩放,因此需要为通知视图提供完全正确大小的位图.
假设我需要提供largeIcon位图的xhdpi,hdpi,mdpi和ldpi版本,它们需要具有哪些大小?我可以在文档中看到没有提及,或者在浏览更广泛的网络之后.
有一个摩托罗拉Xoom平板电脑,我想用它来开发一些小的Html/Css/JavaScript/jQuery应用程序.**有没有人知道在Android上进行Web开发的好IDE?
我只需要IDE:html,css,jQuery/JavaScript(其他语言虽然很酷).
澄清:发展发生于平板电脑,所以IDE必须运行于平板电脑.
当我乘火车旅行时,我想做一些类似JSFiddle的东西,这就是我需要离线编辑器的原因.
我有一个WebView(Android 3.0+)的问题,WebView在显示我的黑色背景("闪烁")之前总是显示白色背景.这是我简单的测试代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webView = new WebView(this);
webView.setBackgroundColor(Color.BLACK);
setContentView(webView);
loadWebView(webView);
webView.loadDataWithBaseURL("localhost://", "<html><head>" +
"<style>body {background-color: #000}img{max-width:100%}</style></head>" +
"<body>" +
"<img src=\"http://developer.android.com/images/practices/actionbar-phone-splitaction.png\" />" +
"</body></html>",
"text/html", "UTF-8", null);
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多解决方案来摆脱这个问题,但并不幸运.
PS:如果关闭硬件加速,则不会出现此问题.有人有同样的问题并解决了吗?
谢谢.
android webview hardware-acceleration android-3.0-honeycomb android-4.0-ice-cream-sandwich
我在将输入流从Web转换为位图时遇到问题.仅当输入图像类型为.BMP(位图)时才会出现问题.在这种情况下:bitmapFactory.decodeStream返回null.
任何提示如何解决这个问题或我应该在哪里继续我的调试?
平台:Android(Honeycomb)
URLConnection conn = url.openConnection();
conn.connect();
inputStream = conn.getInputStream();
bufferedInputStream = new BufferedInputStream(inputStream);
bmp = BitmapFactory.decodeStream(bufferedInputStream);
Run Code Online (Sandbox Code Playgroud) java multithreading android inputstream android-3.0-honeycomb
我认为Gingerbread模拟器很慢,但是人 - Honeycomb模拟器在现代PC上速度很慢,它几乎无法使用.由于Reto Meier要求将我们的Honeycomb问题提交到StackOverflow,这是我的 - 它会很快变得更快吗?当我想把头发拉出来时,我们如何期望为平板电脑开发应用程序?
SDK工具网站现在提到 "模拟器性能的已知问题:因为Android模拟器必须在您的计算机上模拟ARM指令集架构,因此模拟器性能很慢.我们正在努力解决性能问题,并且将在未来版本中得到改进"但我想知道这些修复程序未来发布的时间会有多快.
我有一个无线连接到其他设备的服务.启用该服务后,我会持续发出通知,说明它已启用.
启用该服务后,用户将连接到另一台设备.此时,我想更新我正在进行的通知,以说明已连接的设备的名称.通过startForeground(ONGOING_NOTIFICATION, notification)
使用更新的信息再次呼叫,这很容易做到; 但每次调用时,它会在条形图上闪烁通知.我真正想要的是通知在后台静默更新而不会在通知栏上闪烁,因此用户在打开通知区域之前不会知道区别.
有没有在没有调用的情况下更新通知startForeground()
?
此行为仅发生在Honeycomb中.姜饼设备(我假设Froyo等)表现出理想的方式.
我是Android <3.0中使用的菜单按钮的粉丝,因为它对我的游戏应用程序非常有用 - 它允许我采取重要但游戏玩法无关的功能(保存游戏,参考信息链接)并将其放置在它的某个地方没有弄乱主游戏界面,但仍然很容易访问(选项菜单).
这种键的使用成为3.0的问题,因为它删除了MENU按钮并用Action Bar替换它.动作栏真的不适合喜欢全屏运行的游戏,所以这真的很痛苦.没有操作栏 - 无法访问选项菜单.但是,我可能暂时忽略它,因为我在平板电脑上没有那么多用户,并且没有时间来测试它.
然而,ICS使这成为一个严重的问题,因为MENU按钮显然没有回来.现在我不仅要在平板电脑上处理这个问题,还要在手机上处理这个问题.
我对此问题的初步解决方案是在我的GUI中放置一个软按钮来替换硬菜单按钮
this.openOptionsMenu();
Run Code Online (Sandbox Code Playgroud)
一切都恢复到ICS的完美运作.
但是,这对Honeycomb不起作用.如果您没有可见的ActionBar,则调用openOptionsMenu绝对没有任何作用.
有关如何处理这个的任何想法?
我想我总是可以回到使用TargetSDK <11(从而迫使ActionBar出现在平板电脑上),但据我所知,这只是将问题推向未来,我不愿意这样做.
完全删除选项菜单,然后转到仅使用上下文菜单?[澄清:我的意思是,不是打开选项菜单 - 我只使用上下文菜单 - 至少现在 - 这些工作在所有设备上].
有兴趣听听其他人在整个选项菜单/ ActionBar混乱中遇到类似问题的决定.
compatibility android android-3.0-honeycomb android-4.0-ice-cream-sandwich android-4.2-jelly-bean
我想知道是否有可能以某种方式点击弹出对话框(或具有对话框主题的活动),并通过点击它之外来解雇它?
我做了一个快速的图片来说明它:
通常情况下,您必须按后退键才能关闭对话框,但是在Honeycomb上,由于所有的屏幕区域,可以选择只在对话框外部进行操作.
我正试图弄清楚如何Loaders
在Android 3.0中使用,但似乎无法让它工作.文档只描述使用,CursorLoader
但我正在使用AsyncTaskLoader
.
从文档中看来,您应该只需要实现,AsyncTaskLoader.loadInBackground()
但它永远不会被调用getLoaderManager().initLoader()
,然后在回调中创建加载器.
我可以看到调试消息说它Created new loader LoaderInfo{4040a828 #0 : ArticleDataLoader{4036b350}}
好像是成功创建的.
是否有可能在SDK中破坏了加载器,或者在创建加载器后是否需要调用某些方法?(他们在CursorLoader
示例中没有这样做).
编辑:似乎调用forceLoad()
返回的Loader initLoader()
至少启动加载,但这意味着你无法正确处理旋转:(
android android-3.0-honeycomb android-loadermanager android-loader
android ×10
android-4.0-ice-cream-sandwich ×2
java ×2
css ×1
dialog ×1
ide ×1
inputstream ×1
javascript ×1
performance ×1
sdk ×1
themes ×1
webview ×1