Xóa tiêu đề trong Thanh công cụ trong appcompat-v7


170

Các tài liệu của Toolbarnói

Nếu một ứng dụng sử dụng hình ảnh logo, nó nên cân nhắc bỏ qua tiêu đề và phụ đề.

Cách thích hợp để loại bỏ tiêu đề là gì?


vấn đề là ở đâu nếu bạn chỉ đặt nó thành một chuỗi trống? Tôi không nghĩ rằng bạn phải sử dụng một bố cục tùy chỉnh chỉ sử dụng một biểu tượng. Đoán đó là quá mức cần thiết?
Wagner Michael

3
@maffelbaffel Không có gì sai khi đặt một chuỗi trống nhưng cảm thấy không đúng. Nhưng phải, sử dụng một bố cục tùy chỉnh sẽ là quá mức cần thiết.
timemanx

1
Tôi phải làm:toolbar.setTitle("");
Ferran Maylinch 8/10/2015

1
@FerranMaylinch Vâng, đây cũng là công việc của tôi! Tôi sử dụng thanh công cụ.setTitle (null); dẫn đến Tên ứng dụng làm tiêu đề mặc định. vì vậy tôi đặt thanh công cụ.setTitle (""); hoạt động tốt
CUỐI CÙNG ULHAS

Câu trả lời:


554
getSupportActionBar().setDisplayShowTitleEnabled(false);

4
Câu trả lời này và câu trả lời của David_E hoạt động như của tôi nếu được gọi ngay sau khi gọi setSupportActionBar(). Chọn câu trả lời này bởi vì đây dường như là cách chính thức để làm điều này theo tài liệu tham khảo chính thức:Set whether an activity title/subtitle should be displayed.
C0D3LIC1OU5

Tôi chỉ dành cho thanh công cụ như thanh hành động, nhưng không phải cho toobar sạch!
iscariot

2
Làm cách nào để loại bỏ nó bằng style.xml? Xin hãy giúp tôi
Anand Savigate 16/07/2015

Đã làm cho tôi. Bạn phải sử dụng "appcompat_v7: v21" để làm việc này.
V_J

bạn phải kiểm tra xem những điều trên sẽ không tạo ra NullPonterException bằng cách thực hiện: if (getSupportActionBar ()! = null) getSupportActionBar (). setDisplayShowTitleEnatted (false);
iOSAndroidWindowsMobileAppsDev

68

Cách chính xác để ẩn / thay đổi Tiêu đề Thanh công cụ là:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);

Điều này bởi vì khi bạn gọi setSupportActionBar(toolbar);, thì getSupportActionBar()sẽ chịu trách nhiệm xử lý mọi thứ cho Action Bar chứ không phải đối tượng thanh công cụ.

Xem tại đây


9
setTitle (null) dẫn đến tên ứng dụng trở thành tiêu đề .. setTitle ("") hoạt động với tôi.
user1354603

1
trong xml tôi đã thêm <Ứng dụng thanh công cụ: title = "" // title là khoảng trắng. Đã làm việc
Dan Alboteanu

21

Thử cái này...

 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_landing_page); 

    .....

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_landing_page);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

    .....

 }

19

Lý do cho câu trả lời của tôi về điều này là vì bản thân câu trả lời được đánh giá cao nhất đã không giải quyết được vấn đề của tôi. Tôi đã tìm ra vấn đề này bằng cách làm điều này.

<activity android:name="NAME OF YOUR ACTIVITY"
    android:label="" />

Hy vọng điều này sẽ giúp những người khác quá.


2
Đây không phải là ý tưởng tốt. Nếu bạn có một <intent-filter>Hoạt động trên đó để cho phép người dùng mở ứng dụng của bạn bằng cách nhấp vào một URL (ví dụ), hộp thoại định hướng sẽ không có bất kỳ tiêu đề nào!
Albert Vila Calvo

10

Một cách khác để xóa tiêu đề khỏi bạn Toolbarnullnhư vậy:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setTitle(null);

4

điều này

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    //toolbar.setNavigationIcon(R.drawable.ic_toolbar);
    toolbar.setTitle("");
    toolbar.setSubtitle("");
    //toolbar.setLogo(R.drawable.ic_toolbar);

3

Nếu bạn đang sử dụng Thanh công cụ, hãy thử mã bên dưới:

toolbar.setTitle("");

2

Bạn có thể sử dụng bất kỳ một trong những điều dưới đây vì cả hai đều hoạt động theo cùng một cách: getSupportActionBar().setDisplayShowTitleEnabled(false); getSupportActionBar().setTitle(null);

Sử dụng ở đâu:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(false);

Hoặc là :

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setTitle(null);

2
 Toolbar actionBar = (Toolbar)findViewById(R.id.toolbar);
    actionBar.addView(view);
    setSupportActionBar(actionBar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

lưu ý về dòng này getSupportActionBar().setDisplayShowTitleEnabled(false);


actionBar.addView (xem); là chế độ xem tùy chỉnh tôi đang thêm vào thanh công cụ
suulisin


1

Cách chính xác để ẩn tiêu đề / nhãn của ToolBar các mã sau:

  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle(null);

1

Tôi không biết liệu đây có phải là cách chính xác hay không nhưng tôi đã thay đổi phong cách của mình như thế này.

<style name="NoActionBarStyle" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>

1

nếu bạn sử dụng thanh công cụ mặc định thì bạn có thể thêm dòng mã này

Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);

1

Điều đó là hiển nhiên, nhưng App Themelựa chọn trong thiết kế chỉ để hiển thị một bản nháp trong phiên bản bố trí, không liên quan đến ứng dụng thực sự tìm kiếm trong điện thoại di động. Trong trường hợp của tôi, không có thanh tiêu đề trong thiết kế nhưng thanh tiêu đề luôn ở trong điện thoại di động.

Tôi đang bắt đầu với lập trình Android và chiến đấu để khám phá một giải pháp phù hợp.

Chỉ cần thay đổi tệp kê khai ( AndroidManifest.xml) là không đủ vì kiểu cần được xác định trước là styles.xml. Cũng vô dụng thay đổi các tập tin bố trí.

Tất cả các giải pháp đề xuất trong Javahoặc Kotlinđã thất bại cho tôi. Một số trong số họ bị sập ứng dụng. Và nếu một người không bao giờ (như tôi) có ý định sử dụng thanh tiêu đề trong ứng dụng, thì giải pháp tĩnh sẽ sạch hơn.

Đối với tôi, giải pháp duy nhất hoạt động vào năm 2019 (Android Studio 3.4.1) là:

trong styles.xml(dưới ứng dụng / res / giá trị) thêm các dòng:

   <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

Sau trong AndroidManifest.xml(dưới ứng dụng / bảng kê khai)

Thay thế

android:theme="@style/AppTheme">

bởi

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

0

Không ai đề cập:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }

Đọc câu hỏi cẩn thận trước khi trả lời, OP đã yêu cầu xóa tiêu đề khỏi thanh công cụ
Bhasta Mehta


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.