0

以下は私のアプリケーションヘッダーで、現在の日時を「DD/MM」の場所に設定したいと考えています。プログラムでこれを行うにはどうすればよいですか? actionBarSherlock を使用しています

ここに画像の説明を入力

これは私が背景を設定した方法です:

<style name="AppBaseTheme" parent="Theme.Sherlock.Light.DarkActionBar">
        <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
        <item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    </style>

    <style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
        <item name="android:background">@drawable/abs_bg</item>
        <item name="background">#ffffff</item>
</style>
4

3 に答える 3

2

誤解しているかもしれませんが、MenuItem何もしない a を追加して、そのテキストに設定することもできます (ただし、これはおそらく悪い方法です)。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    String currentTime;
    // Calculate your string
    MenuItem item = menu.add(Menu.NONE, 0, Menu.NONE, currentTime);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case 0:
        return true;
    }
    return super.onOptionsItemSelected(item);
}

見た目がどれほど良いかはわかりませんが、それはそれを行う方法だと思います。

編集:カスタム背景を設定することで、MenuItem が押されたときに ActionBar の強調表示された青いセクションを取り除くこともできます。その下に、それを行うための簡単な方法があります (その MenuItem しかない場合):

<style name="BlankMenu" parent="@style/AppTheme">
    <item name="actionButtonStyle">@style/CustomItem</item>
</style>

<style name="CustomItem" parent="@style/Widget.Sherlock.ActionButton">
    <item name="background">@drawable/transparent</item>
</style>

@drawable/transparent1x1の透過PNGの場合。テーマをBlankMenuマニフェストに設定するだけです。

テーマを作り直して、デフォルトで MenuItem の背景を青色にし、青い背景で囲まれた日付のみを目的とする場合は、ActionBar テーマから青色のセクションを削除することもできます。その方が信頼性が高いのではないでしょうか。

于 2013-07-24T16:45:07.010 に答える