Làm cách nào để xóa thanh tiêu đề trong android studio?


88

Trong ứng dụng của tôi, có thanh tiêu đề này ở trên cùng, nơi có menu mục bổ sung, nhưng tôi không cần cài đặt và chỉ có một màn hình. Khi tôi thay đổi chủ đề như được mô tả trong nhiều câu hỏi khác, tôi nhận được chủ đề 2.2 cũ. Tôi muốn có chủ đề hiện đại mà không cần thanh ở trên cùng.

Câu trả lời:


151

Truy cập styles.xml và thay đổi .DarkActionBarcho.NoActionBar

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
</style>

trở thành

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
</style>

nếu màu sắc không liên quan đến ứng dụng của bạn, bạn thực sự có thể

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar" />

1
Hoạt động như mong đợi. Tuy nhiên, tiêu đề cũng biến mất khi xem tất cả các ứng dụng đang hoạt động.
IAbstract

bạn sẽ sửa lỗi @IAbstract đó như thế nào?
Pablo Biedma

@PabloBiedma: Tôi không biết.
IAbstract

60

Trong tệp kê khai Thay đổi:

    android:theme="@style/AppTheme" >
    android:theme="@style/Theme.AppCompat.NoActionBar"

4
Mặc dù cách này hoạt động, nhưng chỉnh sửa styles.xmltệp có thể là một lựa chọn tốt hơn cho hầu hết, vì sử dụng phương pháp này sẽ bỏ qua bất kỳ giá trị nào có thể đã được thiết lập AppThemetrong styles.xmltệp. Giải pháp bên dưới thay thế lớp cha NoActionBartrong styles.xmltệp sẽ bảo toàn mọi thông tin kiểu tồn tại từ trước đã được thiết lập.
Lemonseed

Trong trường hợp đó, toàn bộ nền ứng dụng của tôi sẽ có màu đen
Sajid khan

24
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

hoạt động onCreate()khi đặt trước setContentView()được gọi.

nếu không thì nó bị hỏng


6
Điều này khiến ứng dụng gặp sự cố. Tôi đặt ranh giới giữa super.onCreate.....setContentView..... Và nó sụp đổ
Nalorin

Đây không phải là cách chính xác để làm điều đó. Ông Torres giải thích rõ.
Jithin Pavithran

16

Trong tệp styles.xml , thay đổi DarkActionBar thành NoActionBar

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>


13

Kiểm tra điều này

 ActionBar actionBar = getSupportActionBar();
    actionBar.hide();

Đây là mã làm việc để ẩn thanh bởi chính một chương trình. Có thể được đặt trong hàm tạo onCreate(...)sau thanh super.onCreate(..)setContentView(...)dòng để ẩn ngay sau khi chương trình được khởi động.
Milan Kerslager

9

Điều này phù hợp với tôi

getSupportActionBar().hide();

7

Trong tệp kê khai, thay đổi thành này:

android:theme="@style/Theme.AppCompat.Light.NoActionBar" >

7

Đi tới Dự án -> ứng dụng -> chính -> res -> giá trị -> styles.xml

Thay đổi dòng này nếu bạn muốn xóa nó cho mọi lần xem

 `<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">`

đến

 `<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">`

nếu bạn muốn tạo nó chỉ cho một lần xem, bạn có thể thay đổi nó trong dữ liệu tệp kê khai của bạn. Đi tới Android -> tệp kê khai -> AndroidManifest.xml. làm như sau:

  1. Tìm kiếm trong Chế độ xem bạn muốn để nhận loại thay đổi này <activity android:name"...">
  2. Thêm vào android:theme=""@style/Theme.AppCompat.NoActionBar"

Tôi thích giải pháp này. Không giống như thiết lập NoActionBar trong tệp kê khai buộc bạn phải xóa bất kỳ chủ đề (hoặc phong cách) nào đã được áp dụng, ví dụ như Theme.MyApp, với giải pháp này, người ta có thể chỉnh sửa Theme.MyApp và giữ lại một số tùy chỉnh.
MasterJEET

6

Điều này đã làm việc cho tôi trên values/styles.xmlcác mục thêm:

       `<item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>`

4
  1. mở styles.xml
  2. chèn
 <style name="no_title" parent="AppTheme">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowContentOverlay">@null</item>
 </style>

bạn có thể thay đổi tên = "---------"

  1. mở Androidmaifest.xm

    tìm android: theme = "@ style / AppTheme" chang thành android: theme = "@ style / no_title"

  2. bấm chọn Chủ đề trên thanh menu (màu xanh lục gần MainActivity)

    • nhấp vào dự án Chủ đề
    • nhấp vào no_title (ở phía bên phải của bạn)
    • bấm OK

4

Dành cho người mới bắt đầu như tôi. Hãy làm theo những gì tôi nói. Từ Dự án Android của bạn.

app -> res -> giá trị -> style.xml

thay thế mã này

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

</resources>

Thưởng thức.


3

xóa phần sau khỏi activity_main.xml

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay"/>

liên hệ với tôi để được trợ giúp thêm


2

làm điều này trong tệp kê khai của bạn:

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

nó chuyển sang tôi để thiết kế cũ android (nền đen, textbox với biên giới vàng ...)
Jonas

cố gắng android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"làm cho chắc chắn rằng bạn đang sử dụng mức api phút 14.
Rustam

Bạn có thể sử dụng cho một chủ đề ánh sáng: android: theme = "@ style / Theme.AppCompat.Light.NoActionBar">
XIII

2

this.requestWindowFeature (Window.FEATURE_NO_TITLE);

trong onCreate () hoạt động!


2

Hãy thử thay đổi kiểu thành NoActionBar nếu cách đó không hiệu quả, hãy thêm mã này vào hoạt động chính của bạn

 protected void onCreate(Bundle savedInstanceState) {
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();
        setContentView(R.layout.activity_main);

    }

2

Điều này hiệu quả với tôi, tôi hy vọng nó cũng hiệu quả với bạn

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_main);
}

1

Cách tốt nhất là sử dụng chức năng actionbar setTitle()nếu bạn muốn hiển thị logo hoặc có một số nội dung khác trong actionBar nhưng không muốn thấy tên của ứng dụng, hãy viết mã này trong MainActivity.java hoặc bất kỳ nơi nào bạn muốn ẩn tiêu đề trong onCreate:

android.support.v7.app.ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setIcon(R.mipmap.full_white_logo_m); // display logo
actionBar.setTitle(""); // hide title

Bằng cách này, ứng dụng của bạn sẽ không có lý do để gặp sự cố.


1

Chỉ cần sử dụng setTitle(null)ở trên

toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

Tiêu đề sẽ biến mất sau đó bạn có thể sử dụng biểu tượng mà bạn lựa chọn .....



1

Tôi đã gặp phải vấn đề tương tự như bạn và giải quyết vấn đề này chỉ bằng cách thay đổi lớp mà tôi đã mở rộng.

//you will get the app that does not have a title bar at the top.
import android.app.Activity;
public class MainActivity extends Activity
{}

//you will get the app that has title bar at top
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity
{}

Tôi hy vọng điều này sẽ giải quyết vấn đề của bạn.


0

Trong AndroidManifest.xmlứng dụng của mình, bạn sẽ thấy android:themeví dụ được đặt thành@style/AppTheme

Bây giờ, hãy truy cập styles.xml, tìm thẻ kiểu, đảm bảo rằng tên đó được đặt AppThemegiống như trong tệp kê khai và đặt cấp độ gốc thành android:Theme.Holo.Light.NoActionBar (cũng thực hiện việc này trong kiểu (v21) nếu bạn có nó trong dự án của mình)

<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar">
    <!-- ... -->
</style>


0

thử: toolbar.setTitle ("");

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = findViewById(R.id.toolbar);
    toolbar.setTitle("");
    setSupportActionBar(toolbar);
}

Chào mừng bạn đến với Stack Overflow! Vui lòng không trả lời chỉ với mã nguồn. Cố gắng cung cấp một mô tả đẹp về cách giải pháp của bạn hoạt động. Xem: Làm thế nào để viết một câu trả lời tốt? . Cảm ơn
sɐunıɔ ןɐ qɐp

0

Để chỉ cần xóa thanh tiêu đề (có nghĩa là thanh chứa tên ứng dụng của bạn) khỏi một hoạt động, tôi chỉ cần thêm dòng dưới đây vào hoạt động đó trong manifests\AndroidManifest.xml:

android:theme="@style/AppTheme.NoActionBar"

Bây giờ nó sẽ giống như bên dưới

<activity
  android:name=".MyActivity"
  android:theme="@style/AppTheme.NoActionBar"></activity>

Hy vọng nó sẽ hữu ích.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.