细节:

我正在扩展ActionBarActivity。 Eclipse和SDK已于2011-11-06完全补丁。

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14" />  

部署到三星设备的Android 2.3.3 应用程序有android:theme="@android:style/ theme。光”

问题:应用程序很轻,但ActionBar是蓝色的灰色图标,在蓝色背景色下几乎看不见。我还想让动作栏变得更轻,这样它们的灰色图标就更明显了。

我试过修改样式,但没有用。 我可能遗漏了一些小事。

如何使用XML更改ActionBarActivity的ActionBar的背景颜色?

我试图比较当前日期和时间与使用比较运算符在模型中指定的日期和时间:

if challenge.datetime_start <= datetime.now() <= challenge.datetime_end:

脚本错误如下:

TypeError: can't compare offset-naive and offset-aware datetimes

模型是这样的:

class Fundraising_Challenge(models.Model):
    name = models.CharField(max_length=100)
    datetime_start = models.DateTimeField()
    datetime_end = models.DateTimeField()

我也有django使用区域日期和时间。

我还没有找到的是django使用DateTimeField()的格式。是天真还是有意识?我如何得到datetime.now()识别区域日期时间?

如何更改动作栏的文本颜色?我继承了Holo光主题,我能够改变动作栏的背景,但我不知道什么是属性调整来改变文本颜色。


好,我能够改变文本颜色与属性android:textColorPrimary但它也改变了文本颜色的下拉菜单显示时,溢出发生在动作栏按钮。知道如何改变那些下拉菜单/列表的颜色吗?

我正在使用一个自定义的动作栏视图,正如你在下面的截图中看到的,在动作栏中有一个空白的灰色空间。我想把它去掉。

我做了什么?

res / values-v11 / styles.xml

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
        <item name="android:actionBarStyle">@style/ActionBarStyle</item>
        <item name="actionBarStyle">@style/ActionBarStyle</item>
</style>

res /价值/ my_custom_actionbar.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
        <item name="android:height">60dp</item>
    </style>
</resources>

清单

<uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="19" />

<application
            android:icon="@drawable/ic_launcher"
            android:label="@string/AppName"
            android:theme="@style/AppBaseTheme" >
    <!-- activities... etc -->
</application>

MainActivity

public void onCreate(Bundle bundle) {
    super.onCreate(bundle);

    ActionBar actionbar = getSupportActionBar();

    actionbar.setDefaultDisplayHomeAsUpEnabled(false);
    actionbar.setDisplayHomeAsUpEnabled(false);
    actionbar.setDisplayShowCustomEnabled(true);
    actionbar.setDisplayShowHomeEnabled(false);
    actionbar.setDisplayShowTitleEnabled(false);
    actionbar.setDisplayUseLogoEnabled(false);
    actionbar.setHomeButtonEnabled(false);

    // Add the custom layout
    View view = LayoutInflater.from(this).inflate(R.layout.actionbar, null, false);
    actionbar.setCustomView(view);
}

我发现了一个最近的帖子,指出有一个问题与最新发布。我也更新了ADT和SDK到Android 5。

Android ActionBar的自定义视图不填充父元素

我不知道该怎么办。

编辑(部分解决方案):

不能在Android上工作<= API 10。

Android棒棒糖,AppCompat ActionBar自定义视图不占用整个屏幕宽度

我改变了什么:

使用最新sdk版本:

<uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="21" />

添加一个toolbarStyle:

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
        <item name="android:actionBarStyle">@style/ActionBarStyle</item>
        <item name="actionBarStyle">@style/ActionBarStyle</item>

        <item name="android:toolbarStyle">@style/ToolbarStyle</item>
        <item name="toolbarStyle">@style/ToolbarStyle</item>
</style>

<style name="ToolbarStyle" parent="@style/Widget.AppCompat.Toolbar">
    <item name="contentInsetStart">0dp</item>
    <item name="android:contentInsetStart">0dp</item>
</style>

所以我想用这样的switch语句:

switch (scrollLeft) {
  case (<1000):
   //do stuff
   break;
  case (>1000 && <2000):
   //do stuff
   break;
}

现在我知道这些语句(<1000)或(>1000 && <2000)中的任何一个都不会工作(显然是由于不同的原因)。我问的是最有效的方法。我讨厌使用30个if语句,所以我宁愿使用switch语法。我能做些什么吗?

我想知道如何应用全屏主题(没有标题栏+没有动作栏)到一个活动。我使用的AppCompat库从支持包v7。

我已经尝试应用android:theme="@android:style/ theme . notitlebar。“全屏”到我的特定活动,但它崩溃了。我想是因为我的应用主题是这样的。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

我也试过这个

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

它只隐藏标题栏,而不隐藏操作栏。 我目前的工作是隐藏的动作栏与

getSupportActionBar().hide();

我正准备向Android市场发布我的第一款应用,我想知道你们是否有任何关于发布应用的经验建议。

在向市场发布应用之前,有什么隐藏的注意事项或想法吗?例如,我的一个朋友建议我删除代码中的所有注释,以防有人获得源代码,从而使潜在的“代码窃贼”更难破译代码。我认为这是个明智的建议。

在将应用发布到Android市场之前需要做些什么?

当我试图运行我的应用程序内计费我得到的错误:“这个版本的应用程序没有配置通过谷歌播放计费。查看帮助中心获取更多信息”。

我已经在Manifest文件中有计费权限,我有一个签名的。apk作为草稿上传到谷歌Play上,我也已经在我的手机上安装了相同的签名apk。

有什么帮助可以解决这个问题吗?

代数数据类型的“代数”表达式对于具有数学背景的人来说非常具有启发性。让我试着解释一下我的意思。

已经定义了基本类型

产品• 联盟+ 单例X 1号机组

用简写X²表示X•X,用简写2X表示X+X,以此类推,我们可以为链表定义代数表达式

数据列表a =无|缺点a(列表a)↔L = 1 + X•L

二叉树:

数据树a =无|分支a(树a)(树a)↔T = 1 + X•T²

现在,作为一个数学家,我的第一直觉是对这些表达式着迷,试着解出L和t,我可以通过重复替换来做到这一点,但似乎更容易滥用符号假装我可以随意重新排列它。例如,对于一个链表:

L = 1 + x•L

(1 - x)•l = 1

L = 1 / (1 - X) = 1 + X + X X复铁...

我用了1 / (1 - X)的幂级数展开式,完全不合理地得出了一个有趣的结果,即L类型要么为Nil,要么包含1个元素,要么包含2个元素,或者3个元素,等等。

如果我们用二叉树来做,会更有趣:

T = 1 + X•T²

X•T²- T + 1 = 0

T =(1 -√(1 - 4个X•X)) / (2)

T = 1 + X + 2•X²+ 5•X³+ 14•X

再次,使用幂级数展开(用Wolfram Alpha完成)。这表达了一个(对我来说)不明显的事实,即只有一个有1个元素的二叉树,2个有2个元素的二叉树(第二个元素可以在左边或右边分支),5个有3个元素的二叉树等等。

我的问题是,我在这里做什么?这些操作似乎不合理(代数数据类型的平方根到底是什么?),但它们会导致合理的结果。两种代数数据类型的商在计算机科学中有什么意义吗,还是只是符号技巧?

也许更有趣的是,是否有可能扩展这些想法?是否存在一种类型代数理论允许,例如,类型上的任意函数,或者类型需要幂级数表示?如果你可以定义一类函数,那么函数的组合有什么意义吗?

我有两本字典,但为了简化起见,我就选这两本:

>>> x = dict(a=1, b=2)
>>> y = dict(a=2, b=2)

现在,我想比较x中的每个键值对在y中是否有相同的对应值,所以我这样写:

>>> for x_values, y_values in zip(x.iteritems(), y.iteritems()):
        if x_values == y_values:
            print 'Ok', x_values, y_values
        else:
            print 'Not', x_values, y_values

它的工作原理是返回一个元组,然后比较是否相等。

我的问题:

这对吗?还有更好的办法吗?最好不是在速度上,我说的是代码优雅。

更新:我忘了提到,我必须检查有多少键,值对是相等的。