【发布时间】:2011-01-12 23:51:39
【问题描述】:
我正在使用
Window w = getWindow();
w.setTitle("My title");
更改我当前活动的标题,但它似乎不起作用。
谁能指导我如何改变这个?
【问题讨论】:
我正在使用
Window w = getWindow();
w.setTitle("My title");
更改我当前活动的标题,但它似乎不起作用。
谁能指导我如何改变这个?
【问题讨论】:
单独尝试 setTitle,如下所示:
setTitle("Hello StackOverflow");
【讨论】:
仅供参考,您可以选择从 XML 中执行。
在AndroidManifest.xml中,可以用
android:label="My Activity Title"
或者
android:label="@string/my_activity_label"
例子:
<activity
android:name=".Splash"
android:label="@string/splash_activity_title" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
【讨论】:
如果您需要一次并让系统处理其余部分(非动态),请在您的清单文件中执行以下操作:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name_full" > //This is my custom title name on activity. <- The question is about this one.
<intent-filter android:label="@string/app_launcher_name" > //This is my custom Icon title name (launcher name that you see in android apps/homescreen)
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
【讨论】:
setTitle(getResources().getText(R.string.MyTitle));
【讨论】:
有一个更快的方法,只需使用
YourActivity.setTitle("New Title");
您也可以在 onCreate() 中找到它,例如:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setTitle("My Title");
}
顺便说一句,你不能做的是在不传递任何 Activity 对象的情况下以静态方式调用 setTitle()。
【讨论】:
这对我有用。
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment, container, false);
getActivity().setTitle("My Title");
//...
}
【讨论】:
如果你有多个activity,你可以在AndroidManifest.xml中这样设置
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".NumbersActivity"
android:label="@string/category_numbers"
android:theme="@style/category_numbers" />
<activity
android:name=".FamilyActivity"
android:label="@string/category_family"
android:theme="@style/category_family" />
<activity
android:name=".ColorsActivity"
android:label="@string/category_colors"
android:theme="@style/category_colors" />
<activity
android:name=".PhrasesActivity"
android:label="@string/category_phrases"
android:theme="@style/category_phrases" />
<activity
android:name=".ExperimentActivity"
android:label="@string/category_experiment"
android:theme="@style/category_experiment" />
</application>
【讨论】:
我使用的是 Android Studio 3.0.1。
有一个活动:
setTitle("Title Text");
片段内部:
getActivity().setTitle("Title Text");
【讨论】:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.Main_Activity);
this.setTitle("Title name");
}
【讨论】:
如果您想在 Java 文件中设置标题,请在您的活动中写入 onCreate
setTitle("Your Title");
如果你想在 Manifest 中写
<activity
android:name=".MainActivity"
android:label="Your Title" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
【讨论】:
我的活动中有一个工具栏和一个覆盖所有标题的基本活动。所以我不得不在 Activity 的 onResume() 中使用 setTitle,如下所示:
@Override
protected void onResume() {
super.onResume();
toolbar.setTitle(R.string.title);
}
【讨论】:
代码帮我改了标题。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_name);
ActivityName.this.setTitle("Your Activity Title");}
【讨论】:
在 MainActivity 中:
public class act1 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act1);
setTitle("First Activity");
}
}
【讨论】:
setTitle("任何应用程序"); 在 MainActivity.java 中更简单 我会说。
【讨论】:
如果您想在单击按钮更改活动时更改活动标题。在 MainActivity 中声明必要的变量:
private static final String TITLE_SIGN = "title_sign";
ImageButton mAriesButton;
在 onCreate() 中添加 onClickListener 并为另一个活动创建新意图:
mTitleButton = (ImageButton) findViewById(R.id.title_button);
mTitleButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,
SignActivity.class);
String title_act = getText(R.string.simple_text).toString();
intent.putExtra("title_act", title_act);
startActivity(intent);
finish();
}
});
onCreate()中的SecondActivity代码:
String txtTitle = getIntent().getStringExtra("title_act");
this.setTitle(txtTitle);
【讨论】:
如果您使用 onCreateOptionsMenu,您还可以在 onCreateOptionsMenu 中添加 setTitle 代码。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
setTitle("Neue Aktivität");
return true;
}
【讨论】:
setTitle("欢迎活动");
【讨论】:
在 Kotlin 中,这样:
this.title = resources.getText(R.string.fast_learning)
【讨论】: