13 ответов:
просто FYI, вы можете дополнительно сделать это из 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>
это сработало для меня.
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment, container, false); getActivity().setTitle("My Title"); //... }
есть более быстрый способ, просто используйте
YourActivity.setTitle("New Title");вы также можете найти его внутри onCreate () С этого, например:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.setTitle("My Title"); }кстати, то, что вы просто не можете сделать, это вызвать setTitle() статическим способом без передачи какого-либо объекта 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>
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.Main_Activity); this.setTitle("Title name"); }
У меня есть панель инструментов в моей деятельности и базовой деятельности, которая переопределяет все заголовки. Поэтому мне пришлось использовать setTitle в onResume () в действии так:
@Override protected void onResume() { super.onResume(); toolbar.setTitle(R.string.title); }
Я использую Android Studio 3.0.1.
вид деятельности:
setTitle("Title Text");внутри фрагмент:
getActivity().setTitle("Title Text");
Если вы хотите установить заголовок в Java-файле, то напишите в своей активности onCreate
setTitle("Your Title");Если вы хотите в Манифесте, то напишите
<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>
Если вы хотите изменить название действия при изменении активности, нажав на кнопку. Объявите необходимые переменные в MainActivity:
private static final String TITLE_SIGN = "title_sign"; ImageButton mAriesButton;добавить onClickListener в onCreate () и сделать новое намерение для другой деятельности:
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(); } });код SecondActivity в onCreate():
String txtTitle = getIntent().getStringExtra("title_act"); this.setTitle(txtTitle);
код помог мне изменить название.
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_name); ActivityName.this.setTitle("Your Activity Title");}
Comments