Các tài liệu của Toolbar
nó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ì?
toolbar.setTitle("");
Các tài liệu của Toolbar
nó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ì?
toolbar.setTitle("");
Câu trả lời:
getSupportActionBar().setDisplayShowTitleEnabled(false);
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.
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
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);
.....
}
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á.
<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!
Một cách khác để xóa tiêu đề khỏi bạn Toolbar
là null
như vậy:
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setTitle(null);
đ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);
Nếu bạn đang sử dụng Thanh công cụ, hãy thử mã bên dưới:
toolbar.setTitle("");
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);
và
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);
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);
Chỉ cần thêm thuộc tính này vào thanh công cụ của bạn
app:title=" "
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>
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);
Điều đó là hiển nhiên, nhưng App Theme
lự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 Java
hoặ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">
Không ai đề cập:
@Override
protected void onCreate(Bundle savedInstanceState) {
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
}
toolbar.setTitle(null);
// xóa tiêu đề
Toolbar toolbar = findViewById(R.id.myToolbar);
toolbar.setTitle("");