4

設定アクティビティとすべての子画面のトップ タイトル バーを取り除きたい。私が今直面している問題は、ジェリービーンではなく、古いバージョンで発生します。削除できない場合は、子画面のタイトルがリスト項目から転送されないように動作を変更したいと思います。

この画面ではタイトルに何も設定しませんでした。テキスト プロパティはシステムによって親画面からコピーされました。親画面のタイトルは、ルート プリファレンス カテゴリの setTitle() によって設定されています。問題は 2.3.6 にあります

ここに画像の説明を入力

ここに画像の説明を入力

4

5 に答える 5

3

これを AndroidManifest で使用します。

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
于 2012-08-27T15:02:58.347 に答える
1

お気付きのように、この問題は最新の Android リリースで修正されています。これは、ネストされた設定が常に内部ThemeまたはTheme_NoTitleBarフレームワークのいずれかを使用するようにハードコーディングされていたバグが原因です。バグを修正したコミットは、Gingerbread のリリース後にマージされたようです。

このバグを回避する最も簡単な方法 (不要なタイトル テキストを取り除くため) はonPreferenceClickListenerPreferenceScreenオブジェクトに を追加し、タイトルを null に設定することです。あなたが投稿したコードの場合、これは次のようになります。

    particleSettings.setLayoutResource(R.layout.iconpreferencee);
    particleSettings.setKey("screen_preference");
    particleSettings.setTitle(Html.fromHtml("" + "Particles" + ""));
    particleSettings.setSummary(Html.fromHtml("<font color=\"#7c71d8\">"
            + "Count , type , color , size, gitter ... " + "</font>"));
    // workaround for Android bug 5351628
    particleSettings.setOnPreferenceClickListener(
            new OnPreferenceClickListener() {
                @Override
                public boolean onPreferenceClick(Preference pref) {
                    final PreferenceScreen screen = (PreferenceScreen) pref;
                    screen.getDialog().setTitle(null);
                    return false;
                }
            });

それが役に立てば幸い!:)

于 2012-09-07T18:09:03.713 に答える
0

以下は私のために働いています:

各プリファレンスを個別の XML および個別のアクティビティとして作成してください。これにより、この種のプロパティが継承されなくなります。

次に、次のように親の設定から子の設定を呼び出すことができます。

<Preference
    android:key="TODO"
    android:title="@string/TODO"
    android:summary="@string/TODO"
>
    <intent
        android:action="com.example.project.preference.child1" />
</Preference>

そして、あなたの子供の好みには、マニフェストで定義された同じアクションが必要です

<action android:name="com.example.project.preference.child1" />

com.example.project.preference.child1が一意であることを確認してください!

ここで、values/styles.xml に以下を追加します。

<style name="app_theme_no_title_pref" parent="android:Theme.Light">
    <item name="android:windowNoTitle">true</item>
</style>

もちろん、android:Theme.Lightを必要なものに変更できます。

マニフェストで、これをすべての設定アクティビティ、親と子に追加します。

android:theme="@style/app_theme_no_title_pref"

したがって、マニフェストでは、子プリファレンス アクティビティは次のようになります。

<activity android:name=".TODO"
    android:label="@string/TODO"
    android:theme="@style/app_theme_no_title_pref">
    <intent-filter>
        <action android:name="com.example.project.preference.child1" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>
于 2012-09-05T15:24:41.153 に答える
-1

最初にタイトルを削除してみてください: スーパー クラスを追加します。たとえば、次のようにします。

public class FullScreenActivity extends Activity

FullScreenActivity で、メソッドを追加します。

    private void addFlags() {
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);


    this.getWindow().addFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN
                    | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                    | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                    | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);


    Log.d(TAG, "add flags");
}

このメソッドを FullScreenActivity の onCreate と呼びます

そう...

アクティビティとすべてのサブクラスをフラグでフルスクリーンにすることができます。

public class MyActivity extends FullScreenActivity

これを試して解決をテストしてください...そして、すべてのアクティビティにタイトルを設定できます(そうでない場合は、スーパークラスのタイトルを使用してください)。

于 2012-09-05T13:22:22.713 に答える
-1

これをJavaファイルで使用します:

requestWindowFeature(Window.FEATURE_NO_TITLE);
于 2012-09-03T13:13:44.547 に答える