1

アプリケーションを作成するとき、ニーズに合わせてカスタムウィンドウタイトルを作成し、アプリケーションを他のアプリケーションとは異なるものにする必要がある場合があります。このコードで設定アクティビティのアイコンウィンドウタイトルを作成する際に問題が発生しました:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_LEFT_ICON);
        addPreferencesFromResource(R.layout.setting);
        setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.setting);
    }

誰か助けてもらえますか?

4

4 に答える 4

2
public class Preferences extends PreferenceActivity {  
protected ImageView img;
   @Override
   protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);        
    setContentView(R.layout.main_tab);
    title = (TextView) findViewById(R.id.img);

    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar);
    Bitmap bmp=BitmapFactory.decodeResource(getResources(), R.drawable.sc01);
    int width=30;
    int height=20;
    Bitmap resizedbitmap=Bitmap.createScaledBitmap(bmp, width, height, true);
    this.img.setImageBitmap(resizedbitmap);

  }
}
///////In title_bar.xml///////

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout01"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
     >

    <ImageView
        android:id="@+id/img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="3dp">
    </ImageView>



</RelativeLayout>
于 2012-08-10T00:46:12.473 に答える
0

試す:

getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.drawable.icon);
于 2012-08-10T00:25:05.910 に答える
0

マニフェスト ファイルで、設定アクティビティのアイコンとタイトルを変更できます。

    <activity
        android:name="PATH TO YOUR ACTIVITY"
        android:label="@string/title_from_resources" 
        android:icon="@drawable/icon_from_resources" >
    </activity>
于 2013-08-05T13:52:57.677 に答える
0

これを試して

  1. 「layout」フォルダーにウィンドウ タイトルのカスタム レイアウトを作成します。

window_title.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="35dip"
    android:gravity="center_vertical"
    android:paddingLeft="5dip"
    android:background="#323331">

    <ImageView
        android:id="@+id/header"
        android:src="@drawable/header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>
  1. 「values」フォルダにカスタム スタイルを作成します。

custom_style.xml

<resources>
    <style name="CustomWindowTitleBackground">
        <item name="android:background">#323331</item>
    </style>

    <style name="CustomTheme" parent="android:Theme">
        <item name="android:windowTitleSize">35dip</item>
        <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
    </style>
</resources>
  1. カスタム スタイルをマニフェスト ファイルにテーマとして適用します。

AndroidManifest.xml

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/CustomTheme">

4. メイン アクティビティ クラスにカスタム ウィンドウ タイトルを適用する

カスタム ウィンドウ タイトル

    public class CustomWindowTitle extends PreferenceActivity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,  R.layout.Your_Custom_Title);
super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.YourPrf);
        }
    }
于 2012-08-10T01:46:00.613 に答える