1

タイトルバーの色を動的に変更したい。つまり、誰かがボタンをクリックすると、色が変更される。ただし、タイトルバー全体を埋めることができないようです。これは、エミュレータとNexusOneの両方で発生します。何か案は?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/title_bar" android:background="@color/title_bar_blue" android:layout_width="fill_parent" android:layout_height="fill_parent">
    <TextView android:id="@+id/title_left_text" android:layout_alignParentLeft="true" style="?android:attr/windowTitleStyle" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
    <TextView android:id="@+id/title_right_text" android:layout_alignParentRight="true" style="?android:attr/windowTitleStyle" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
</RelativeLayout>

    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    setContentView(R.layout.main);
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);

    titleBar = (RelativeLayout) findViewById(R.id.title_bar);
    titleBar.setBackgroundResource(R.color.title_bar_green);

タイトルバー

4

2 に答える 2

1

これを試してください((View) titleBar.getParent()).setBackgroundColor(R.color.title_bar_green); それは仕事をするための最良の方法ではありません。しかし、それが機能する場合は、R.id.title_bar親の背景色を設定する必要があることがわかります。

于 2012-06-21T20:48:36.383 に答える
0

これを試して

titleBar = (RelativeLayout) findViewById(R.id.title_bar);
final FrameLayout titleContainer = (FrameLayout)titleBar.getParent(); 
 titleContainer.setPadding(0, 0, 0, 0)
titleBar.setBackgroundResource(R.color.title_bar_green);
于 2012-06-21T20:46:52.430 に答える