每次创build一个活动(特别是为了处理ActionBar高度可能发生变化的旋转时的configuration更改),我都试图获得ActionBar的高度(使用Sherlock)。 为此,我使用ActionBar.getHeight()方法,该方法仅在显示ActionBar时起作用。 第一次创build第一个活动时,我可以在onCreateOptionsMenucallback中调用getHeight() 。 但是这个方法不会被调用。 所以我的问题是我什么时候可以调用getHeight()并确保它不返回0? 或者如果这是不可能的,我怎样才能设置ActionBar的高度?
我可以创build并显示一个自定义的警报对话框,但即使如此,我也有android:layout_width/height="fill_parent"在对话框中的xml它只是与内容一样大。 我想要的是填充整个屏幕的对话框,除了20像素的填充。 然后,作为对话框的一部分的图像将使用fill_parent自动拉伸到完整的对话框大小。
最近我看了这些post: Androiddevise支持库 Android支持库,修订版22.2.0 FloatingActionButton 但是,他们没有给我一个关于创build一个新的FloatingActionButton的详细例子。 很难理解,我问这个问题。 任何人都可以给我一个例子吗? 任何帮助,不胜感激。 提前致谢。 编辑 我刚刚在FloatingActionButton (FAB)上发现了一些问题,我想改进另一个答案。 看到我的答案在下面。
我需要在我的蜂窝应用程序中实现启animation面。 我在activity的onCreate中使用这个代码来显示splash: setContentView(R.layout.splash); getActionBar().hide(); 而这段代码在一段时间后显示主UI: setContentView(R.layout.main); getActionBar().show(); 但是在 onCreate被调用之前会出现splash,当显示action bar时有less量时间。 我怎么能使它不显示? 我试图将主题应用到没有操作的活动栏中: <item name="android:windowActionBar">false</item> 但在这种情况下getActionBar()总是返回null,我发现没有办法再次显示它。
我目前正在为Android平台开发一个小型的OpenGL游戏,我不知道是否有一种简单的方法来渲染渲染帧(比如玩家的得分等HUD)的文本。 文本也需要使用自定义字体。 我已经看到一个使用View作为覆盖的例子,但是我不知道我是否想这样做,因为我可能想稍后将游戏移植到其他平台。 有任何想法吗?
我花了整整4天的时间来尝试所有能够找出我正在开发的应用程序中的内存泄漏的东西,但很久以前,事情就停止了。 我正在开发的应用程序是社交性的,所以请考虑简介活动(P)并列出活动与数据 – 例如徽章(B)。 您可以从configuration文件跳转到其他configuration文件的徽章列表,其他列表等。 所以想象一下像这样的P1 – > B1 – > P2 – > B2 – > P3 – > B3等stream程。为了一致性,我加载configuration文件和同一用户的徽章,所以每个P页是相同的每个B页面。 这个问题的一般要点是:根据每个页面的大小,在导航一段时间之后,我会在随机的地方(比如地图,string等等)发现内存不足的exception,这似乎并不一致。 在做完所有可以想象的事情之后,为什么我的记忆力已经耗尽,我什么都没有想到。 我不明白的是,为什么Android不会杀死P1,B1等,如果加载时耗尽内存,而不是崩溃。 如果我通过onCreate()和onRestoreInstanceState()返回它们,我预计这些早期的活动将会死亡并被复活。 更别提这个了 – 即使我做了P1 – > B1 – >后退 – > B1 – >后退 – > B1,我仍然崩溃。 这表明某种内存泄漏,但即使在转储hprof并使用MAT和JProfiler之后,我也无法find它。 我已经禁止从网上加载图像(并且增加了加载的testing数据以弥补它,并使testing公平),并确保图像caching使用SoftReferences。 Android实际上试图释放它所拥有的一些SoftReference,但是在它崩溃之前就已经崩溃了。 徽章页从Web获取数据,从BaseAdapter将其加载到一个EntityData数组中,并将其提供给一个ListView(我实际上使用CommonsWare的MergeAdapter ,但在这个Badge活动中,实际上只有一个适配器,但是我无论如何都想提到这个事实)。 我已经通过了代码,无法find任何会泄漏的东西。 我清除了所有可以find的东西,甚至System.gc()左右,但仍然是应用程序崩溃。 我还是不明白为什么没有获得收益的非活动活动,我真的很喜欢弄清楚。 在这一点上,我正在寻找任何提示,build议,解决scheme……任何可能的帮助。 谢谢。
ProGuard for Android的新文档说要将一行添加到项目主目录中的default.properties文件中。 不过,在打开这个文件的时候,我读到顶部: # This file is automatically generated by Android Tools. # Do not modify this file — YOUR CHANGES WILL BE ERASED! 我错过了什么吗? 另外,是否有一种方法可以使ProGuard仅用于Eclipse的生产版本(即导出成品时)?
我已经做了一些关于这个主题的研究,我找不到一个完整的解决scheme,所以,一步一步地尝试和错误,我终于find了如何实现这些结果:有一个透明或彩色的Actionbar和Statusbar 。 看到我的答案吼叫。
这必须经常提出。 当用户在Android应用程序中编辑首选项时,我希望他们能够在Preference摘要中查看当前设置的首选项值。 例如:如果我有一个“丢弃旧消息”的首选项设置,指定消息需要清理的天数。 在PreferenceActivity我希望用户看到: “放弃旧信息” < – 标题 “ x天后清理消息” < – 摘要其中x是当前首选项值 额外的信用:使这个可重用,所以我可以很容易地适用于所有我的喜好,无论他们的types(以便它与EditTextPreference,ListPreference等与最小量的编码)。
报警pipe理器的参考说 如果所述的触发时间在过去,则会立即触发警报。 我在申请中遇到了这个问题。 这是我的报警pipe理员代码: Intent myIntent = new Intent(getActivity(), DinnerAlarmReceiver.class); pendingDinnerIntent = PendingIntent.getBroadcast(getActivity(), 0, myIntent, 0); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, hourOfDay); calendar.set(Calendar.MINUTE, minute); alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingDinnerIntent); 有没有解决这个问题的方法? – – -编辑 – – – 我已经写了一些代码来估计闹钟的设置时间是否在当前时间之前。 以上是具有相应变化的部分: Calendar calendar = Calendar.getInstance(); long currentTime = calendar.getTimeInMillis(); calendar.set(Calendar.HOUR_OF_DAY, hourOfDay); calendar.set(Calendar.MINUTE, minute); long setTime = calendar.getTimeInMillis(); Timestamp setTimestamp = […]