Как удалить строку заголовка из андроидной активности?
Может кто-нибудь, пожалуйста, помогите мне с этой проблемой. Я хочу, чтобы моя деятельность была в полноэкранном режиме, и я хочу удалить заголовок с экрана. Я пробовал несколько способов, но не смог удалить его.
Код активности:
public class welcomepage extends Activity {
private Button btn;
EditText userName,passWord;
DatabaseHandler dbHandler;
Context ctx =this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_welcomepage);
}
}
И Activity.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/pic1"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.edkul.vimal.edkul.welcomepage">
</RelativeLayout>
Я хочу удалить строку заголовка, отображаемую синим цветом. Пожалуйста, найдите изображение для справки:
![enter image description here]()
AndroidManifest.xml
<application
android:minSdkVersion="3"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.NoActionBar">
<activity
android:name=".welcomepage"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Ответы
Ответ 1
Попробуйте следующее:
this.getSupportActionBar() скрыть();.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try
{
this.getSupportActionBar().hide();
}
catch (NullPointerException e){}
setContentView(R.layout.activity_main);
}
Ответ 2
Вы просто добавляете этот стиль в свой файл style.xml
, который находится в папке значений
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
После этого установите этот стиль для своего класса активности в своем файле AndroidManifest.xml file
android:theme="@style/AppTheme.NoActionBar"
Изменение: - Если вы собираетесь программным способом скрыть панель действий, используйте следующий код в методе своей деятельности onCreate()
.
if(getSupportedActionbar()!=null)
this.getSupportedActionBar().hide();
и если вы хотите скрыть ActionBar от фрагмента,
getActivity().getSupportedActionBar().hide();
AppCompat v7: -
Используйте следующую тему в своей деятельности, где вы не хотите, чтобы actiobBar Theme.AppComat.NoActionBar
или Theme.AppCompat.Light.NoActionBar
или если вы хотите скрыть все приложение, установите эту тему в <application... />
в вашем AndroidManifest
.
In Kotlin:
добавьте эту строку кода в ваш метод onCreate()
или вы можете использовать вышеуказанную тему.
if (supportActionBar != null)
supportActionBar?.hide()
Я надеюсь, что это поможет вам больше.
Ответ 3
В вашем файле манифеста Android убедитесь, что эта активность использует (или а) тему (на основе которой) @style/Theme.AppCompat.NoActionBar
Это полностью удаляет ActionBar, но не сделает вашу деятельность в полноэкранном режиме.
Если вы хотите, чтобы ваша деятельность в полноэкранном режиме использовала только эту тему
@android:style/Theme.NoTitleBar.Fullscreen
Или вы можете изменить
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
to
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
Это то, что я использую для полноэкранного просмотра во время выполнения
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
mDecorView = getWindow().getDecorView();
mDecorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE);
}
Чтобы выйти из полноэкранного режима, я использую этот
mDecorView = getWindow().getDecorView();
mDecorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
Ответ 4
Вы можете попробовать:
<activity android:name=".YourActivityName"
android:theme="@style/Theme.Design.NoActionBar">
который работает для меня
Ответ 5
Добавить в активность
requestWindowFeature(Window.FEATURE_NO_TITLE);
и добавьте свой файл style.xml
в следующие две строки:
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
Ответ 6
Вы просто добавляете следующие строки кода в файл style.xml
<style name="AppTheme.NoTitleBar" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
изменить apptheme в файле AndroidManifest.xml
android:theme="@style/AppTheme.NoTitleBar"
Ответ 7
Добавьте эти две строки в ваш style.xml
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>