Khoảng đệm giữa biểu tượng trang chủ và tiêu đề của ActionBar


110

Có ai biết cách đặt đệm giữa biểu tượng trang chủ của ActionBar và tiêu đề không?


13
Chào mừng bạn đến với thế giới hack: Android . Điều đơn giản này nên được tìm thấy bởi bất kỳ ai (ngay cả một người mới) nếu chúng ta cần điều này trong các công nghệ giao diện người dùng khác và lập trình ứng dụng. Tuy nhiên trong Android, nó thực sự bí ẩn. Họ cố tình giấu tính năng đi, làm cho nó phức tạp và chỉ để biến Android trở thành một thế giới của hack . Tôi không biết mục đích cuối cùng của họ là gì.
King King

1
Đây câu hỏi và câu trả lời nhường đường để đạt được điều này với các thuộc tính bên trong thanh công cụ (hỗ trợ v7)
Elisabeth

Android thậm chí còn hấp dẫn hơn iOS.
Borzh

Câu trả lời:


69

Tôi đã điều chỉnh câu trả lời của Cliffus và gán logo có thể vẽ trong định nghĩa kiểu thanh hành động của mình, ví dụ như thế này trong res / style.xml:

<item name="android:actionBarStyle">@style/MyActionBar</item>

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">#3f51b5</item>
        <item name="android:titleTextStyle">@style/ActionBar.TitleText</item>
        <item name="android:textColor">#fff</item>
        <item name="android:textSize">18sp</item>
        <item name="android:logo">@drawable/actionbar_space_between_icon_and_title</item>
</style>

Có thể vẽ trông giống như Cliffus 'một (ở đây với biểu tượng trình khởi chạy ứng dụng mặc định) trong res / drawable / actionbar_space_between_icon_and_title.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@drawable/ic_launcher"
        android:right="20dp"/>
</layer-list>

Trong android_manifest.xml, bạn vẫn có thể đặt biểu tượng ứng dụng khác (biểu tượng trình khởi chạy trên 'máy tính để bàn'. Mọi định nghĩa logo khác nhau ở đây đều hiển thị trong các hoạt động mà không có thanh tác vụ).


tại sao nó doesn `t có hiệu lực thi trên Android 5.1
Logan Guo

Xin lỗi, tôi không thể nói điều gì đó trong 5.1. Tôi đã chuyển sang Kiểm soát Thanh công cụ linh hoạt hơn. Nếu chưa thực hiện được, tôi khuyên bạn nên mở một câu hỏi mới tại đây trên StackOverflow và viết thêm một số chi tiết, điều gì hiệu quả với bạn (<5.1) và điều gì không hiệu quả và những gì bạn đã thử với 5.1 nhưng không tìm ra giải pháp.
Minsky

Cảm ơn bạn @Minsky, tôi lấy cảm hứng từ câu trả lời của bạn để giải quyết vấn đề của tôi, tôi đặt cách trả lời bên dưới :)
Bối cảnh

Nếu sử dụng mipmap thì sao?
Yura Shinkarev

100

CHỈNH SỬA : đảm bảo bạn đặt có thể vẽ này làm LOGO , không phải là biểu tượng ứng dụng của bạn như một số người bình luận đã làm.

Chỉ cần tạo một tệp XML có thể vẽ được và đặt nó vào thư mục tài nguyên "có thể vẽ được" (không có mật độ hoặc cấu hình khác).

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:drawable="@drawable/my_logo"
        android:right="10dp"/>


</layer-list>

Bước cuối cùng là đặt biểu trưng có thể vẽ mới này làm biểu trưng trong tệp kê khai của bạn (hoặc trên đối tượng Thanh hành động trong hoạt động của bạn)

Chúc may mắn!


1
Có một vấn đề lớn ở đây với giải pháp này. Tôi đã sử dụng nó và @Alesqui đã đúng - biểu tượng ứng dụng đã thay đổi và trở nên nhỏ hơn ... Bạn có thể thay đổi biểu tượng nhưng vì dp khác nhau đối với các điện thoại khác nhau nên giải pháp này không cắt nó trong ứng dụng sản xuất.
Johan S vào

3
đảm bảo rằng bạn đang đặt có thể vẽ này làm LOGO, không phải là biểu tượng ứng dụng của bạn. chúc may mắn!
Cliffus

1
Tôi cũng thấy sự biến dạng. Nếu tôi áp dụng phần đệm bên phải như trên, phần bên phải của hình ảnh sẽ bị cắt.
Neil

1
Giải pháp thú vị nhưng không làm việc cho tôi - tôi hoặc có thể thêm extra padding cách này hay cắt hình ảnh biểu trưng - không tốt (4.3)
Dori

1
@Cliffus - giải pháp hay. Yêu cầu của tôi là đưa logo sang trái nên tôi đã sử dụng: android: left = "- 4dp".
TharakaNirmana

55

Tôi cũng gặp phải vấn đề tương tự, trong trường hợp của tôi, tôi phải đặt tiêu đề động cho từng hoạt động tùy thuộc vào nội dung.

Vì vậy, điều này đã làm việc cho tôi.

actionBar.setTitle("  " + yourActivityTitle);

Nếu tất cả những gì bạn muốn là khoảng cách, đây là giải pháp dễ nhất mà tôi có thể nghĩ ra.


13
Tại sao lại bỏ phiếu? Đừng nghĩ đó là một câu trả lời sai, chỉ là một cách làm khác.
Rahul Sainani

3
@idratherbeintheair Có Tôi đồng ý rằng đây không phải là cách "sạch nhất" nên bây giờ nó chỉ nói là dễ nhất. Nhưng khi bạn chỉ ra điều gì đó, hãy đăng một giải pháp thay thế. Tôi đã đối mặt với vấn đề này và đây là những gì tôi đã sử dụng trong ứng dụng của mình, vì vậy tôi đã chia sẻ.
Rahul Sainani

3
Có thật không? Giải pháp này có thể không hoạt động giống nhau trên các màn hình khác nhau với DPI khác nhau.
Roman Bugaian

5
Tôi sẽ không chọn giải pháp này vì tôi thực sự cần sth ổn định hơn trong ứng dụng của mình, nhưng tôi muốn hỏi tất cả những người nói rằng "Nó không sạch". Oh, My, God, đâu là giải pháp SẠCH cho vấn đề này? Tất cả những bản hack có logo, setPadding trông cũng không sạch với tôi! Chỉ cần đọc bình luận, bao nhiêu người cũng có vấn đề với những điều đó. Đặt android: paddingLeft trên tiêu đề - điều đó sẽ là SẠCH nếu nó hoạt động. Chúng tôi bị bỏ lại ở đây trong bóng tối để phát minh ra các bản hack bởi vì một số lý do mà nó không hoạt động theo cách đáng lẽ ra. Vì vậy, không có gì là "không sạch".
Varvara Kalinina

1
Một giải pháp rõ ràng hơn sẽ là sử dụng app:titleMarginStartthuộc tính trong XML bố cục.
LarsH

40

Đây là cách tôi có thể đặt phần đệm giữa biểu tượng trang chủ và tiêu đề.

ImageView view = (ImageView)findViewById(android.R.id.home);
view.setPadding(left, top, right, bottom);

Mặc dù vậy, tôi không thể tìm thấy cách tùy chỉnh điều này thông qua các kiểu xml ActionBar. Đó là, XML sau đây không hoạt động:

<style name="ActionBar" parent="android:style/Widget.Holo.Light.ActionBar">        
    <item name="android:titleTextStyle">@style/ActionBarTitle</item>
    <item name="android:icon">@drawable/ic_action_home</item>        
</style>

<style name="ActionBarTitle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textSize">18sp</item>
    <item name="android:paddingLeft">12dp</item>   <!-- Can't get this padding to work :( -->
</style>

Tuy nhiên, nếu bạn đang tìm cách đạt được điều này thông qua xml, hai liên kết này có thể giúp bạn tìm ra giải pháp:

https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/styles.xml

(Đây là bố cục thực tế được sử dụng để hiển thị biểu tượng trang chủ trong thanh tác vụ) https://github.com/android/platform_frameworks_base/blob/master/core/res/res/layout/action_bar_home.xml


1
@Dushyanth Tôi vừa thử nhưng cho biết ngoại lệ con trỏ null trên imageview. tôi có cả homeUpIndicator và biểu tượng home trên thanh tác vụ.
Krishna Shrestha

1
Điều này chỉ hoạt động cho API> = 11 vì android.R.id.home đã được giới thiệu trong API 11. Tôi sử dụng actionbarcompat để có một thanh tác vụ cũng trên các thiết bị trước honeycomp. Làm thế nào để xử lý nó ở đó?
tobias 29/12/12

Một chút của một hack. Xem câu trả lời của Cliffus bên dưới để có giải pháp sạch hơn.
dhaag23

khoảng cách gia đình không còn được thiết lập bằng cách sử dụng padding, nó dường như được sử dụng marginEndkể từ api 17 - có thể sẽ phá vỡ giải pháp này. Xem của tôi bên dưới
Dori

@tobias R.id.home là allways ở đó, ngay cả trước khi mức 11.it chỉ không có sẵn
oscarthecat

32

Đây là một câu hỏi phổ biến trong Material Design vì bạn có thể muốn đặt tiêu đề thanh công cụ của mình với nội dung trong đoạn bên dưới. Để thực hiện việc này, bạn có thể ghi đè phần đệm mặc định của "12dp" bằng cách sử dụng thuộc tính contentInsetStart = "72dp" trong bố cục toolbar.xml của bạn như được hiển thị bên dưới

toolbar.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/app_theme_color"
    app:contentInsetStart="72dp"/>

Sau đó, trong hoạt động của bạn, hãy gọi

Toolbar toolbar = (Toolbar) activity.findViewById(R.id.toolbar);
toolbar.setTitle("Title Goes Here");

Và bạn kết thúc với điều này:

Thanh công cụ


Điều này hoàn toàn không hoạt động trong trường hợp của tôi. Vui lòng cho tôi biết phong cách thiết lập để hoạt động
Nitin Mesta

11
Đây là cách đúng đắn để làm điều này. Cũng có app:titleMarginStart="dimension"để nhắm mục tiêu tiêu đề trực tiếp.
Markus Rubey

Hãy nghĩ rằng đối với hầu hết người dùng đây sẽ là câu trả lời "đúng". Hoạt động như một sự quyến rũ, Cảm ơn!
Taras

1
Làm thế nào đây là câu trả lời "đúng", nếu câu hỏi là về khoảng đệm giữa biểu tượng trang chủ và tiêu đề? Biểu tượng trang chủ không được đề cập ở đây (cũng như logo hoặc bất kỳ biến thể nào). Nếu contentInsetStartđặt khoảng trống giữa biểu tượng trang chủ và tiêu đề, câu trả lời ít nhất có thể nói như vậy. Thử nghiệm của tôi vừa rồi với contentInsetStartdường như đặt khoảng trắng trước logo (phải thừa nhận là không giống với biểu tượng trang chủ).
LarsH

30

Đối với tôi chỉ có sự kết hợp sau đây hoạt động, được thử nghiệm từ API 18 đến 24

app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"

trong "ứng dụng" là: xmlns:app="http://schemas.android.com/apk/res-auto"

ví dụ.

 <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="@color/SE_Life_Green"
                app:contentInsetLeft="0dp"
                app:contentInsetStart="0dp"
                app:contentInsetStartWithNavigation="0dp"
                >
                .......
                .......
                .......
            </android.support.v7.widget.Toolbar>

1
Cảm ơn bạn rất nhiều. @Ajit
shahid17june

1
Tuyệt quá. Sẽ tốt hơn nếu bạn có thể cung cấp mẫu XML liên quan để làm rõ nơi đặt điều này. (Tôi biết phải đặt dòng này ở đâu)
John Pang

Xin chào @JohnPang, bạn có thể đặt cái này vào Thanh công cụ của bố cục như hình trên.
Ajit

29

Nếu bạn đang sử dụng thanh công cụ từ AppCompat (android.support.v7.widget.Toolbar,> = phiên bản 24, tháng 6 năm 2016), phần đệm giữa biểu tượng và tiêu đề có thể được thay đổi với giá trị sau:

  app:contentInsetStartWithNavigation="0dp"

Để cải thiện câu trả lời của tôi, bạn có thể sử dụng nó trên thanh công cụ ngay bên trong hoạt động của bạn hoặc bạn có thể tạo tệp bố cục mới cho thanh công cụ của mình. Trong trường hợp này, bạn chỉ cần nhập @id của thanh công cụ bằng thuộc tính include trên mỗi dạng xem cần thiết.

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:elevation="4dp"
    app:contentInsetLeft="0dp"
    app:contentInsetStart="0dp"
    app:contentInsetStartWithNavigation="0dp">
</android.support.v7.widget.Toolbar>

Sau đó, bạn có thể nhập bố cục của mình trên activity.xml

<include
        layout="@layout/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

Tuyệt quá. Sẽ tốt hơn nếu bạn có thể cung cấp mẫu XML liên quan để làm rõ nơi đặt điều này. (Tôi biết phải đặt dòng này ở đâu)
John Pang

@JohnPang Tôi đã trình bày chi tiết câu trả lời của mình, hy vọng nó sẽ giúp bạn hiểu cách sử dụng thuộc tính này.
tryp 21/12/16

@ Bolein95 bạn có phải là thư viện hỗ trợ không? để có thể giúp bạn vui lòng cung cấp thêm thông tin.
tryp 17/02/17

Đáng chú ý là tham số này đã được giới thiệu trong phiên bản 24 của thư viện thiết kế. Vì vậy, nếu bạn bị kẹt trong nhật thực ở phiên bản 23 (giống như tôi đã từng làm cho đến ngày hôm qua ...), bạn sẽ không có quyền truy cập vào nó.
FlorianT

@FloriantT cảm ơn bạn vì sự chính xác, tôi đã cập nhật câu trả lời của mình về nhận xét của bạn.
tryp

6

Sử dụng titleMarginStartcông trình cho tôi. Ví dụ về Xamarin:

<android.support.v7.widget.Toolbar
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:id="@+id/toolbar"
  android:layout_height="wrap_content"
  android:layout_width="match_parent"
  android:minHeight="?attr/actionBarSize"
  android:background="?attr/colorPrimary"
  app:titleMarginStart="24dp"/>

Đặt logo như vậy:

mToolbar = FindViewById<SupportToolbar>(Resource.Id.toolbar);
SetSupportActionBar(mToolbar);
SupportActionBar.SetLogo(Resource.Drawable.titleicon32x32);
SupportActionBar.SetDisplayShowHomeEnabled(true);
SupportActionBar.SetDisplayUseLogoEnabled(true);
SupportActionBar.Title = "App title";

Bạn là một thiên tài. +1
Jacob Sánchez

4

Tôi đã sử dụng \ t trước tiêu đề và làm việc cho tôi.


2

Tôi đang sử dụng hình ảnh tùy chỉnh thay vì văn bản tiêu đề mặc định ở bên phải biểu trưng ứng dụng của tôi. Điều này được thiết lập theo chương trình như

    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setDisplayUseLogoEnabled(true);
    actionBar.setCustomView(R.layout.include_ab_txt_logo);
    actionBar.setDisplayShowCustomEnabled(true);

Các vấn đề với các câu trả lời ở trên đối với tôi là đề xuất của @ Cliffus không phù hợp với tôi do các vấn đề mà người khác đã nêu trong các nhận xét và trong khi cài đặt đệm có lập trình @dushyanth có thể đã hoạt động trong quá khứ, tôi nghĩ rằng thực tế là khoảng cách là hiện được đặt bằng cách sử dụng android:layout_marginEnd="8dip"vì API 17 thiết lập thủ công phần đệm sẽ không có tác dụng. Xem liên kết mà anh ấy đã đăng lên git để xác minh trạng thái hiện tại của nó.

Một giải pháp đơn giản cho tôi là đặt một biên âm trên chế độ xem tùy chỉnh của tôi trong actionBar, như vậy android:layout_marginLeft="-14dp". Một thử nghiệm nhanh cho thấy nó hoạt động đối với tôi trên 2.3.3 và 4.3 bằng cách sử dụngActionBarCompat

Hy vọng điều này sẽ giúp ai đó!


@Diri bạn có thể bổ sung thêm chúng ta có thể tạo thanh tác vụ ở trên, xuống, trái, phải không
Amitsharma 14/02/14

@amitsharma - tôi không chắc ý của bạn chính xác là gì - ý của bạn là di chuyển thanh tác vụ từ đầu màn hình? Nếu vậy, tôi nghĩ bạn sẽ cần tạo chế độ xem thanh tác vụ tùy chỉnh để thực hiện việc này - có vẻ như nó có vẻ không ổn lắm :)
Dori

trong trường hợp đó tôi không biết những gì bạn có ý nghĩa bởi "u có thể thêm chúng tôi có thể làm cho thanh tác vụ ở lên, xuống, trái, phải"
Dori

2

Tôi đã giải quyết vấn đề này bằng cách sử dụng bố cục Điều hướng tùy chỉnh

Sử dụng nó, bạn có thể tùy chỉnh mọi thứ trong tiêu đề trên thanh tác vụ:

build.gradle

dependencies {
    compile 'com.android.support:appcompat-v7:21.0.+'
    ...
}

AndroidManifest.xml

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name">
        <activity
            android:name=".MainActivity"
            android:theme="@style/ThemeName">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
</application>

styles.xml

<style name="ThemeName" parent="Theme.AppCompat.Light">
   <item name="actionBarStyle">@style/ActionBar</item>
   <item name="android:actionBarStyle" tools:ignore="NewApi">@style/ActionBar</item>

<style name="ActionBar" parent="Widget.AppCompat.ActionBar">
   <item name="displayOptions">showCustom</item>
   <item name="android:displayOptions" tools:ignore="NewApi">showCustom</item>

    <item name="customNavigationLayout">@layout/action_bar</item>
   <item name="android:customNavigationLayout" tools:ignore="NewApi">@layout/action_bar</item>

    <item name="background">@color/android:white</item>
   <item name="android:background">@color/android:white</item>

action_bar.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/action_bar_title"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:gravity="center_vertical"
          android:drawableLeft="@drawable/ic_launcher"
          android:drawablePadding="10dp"
          android:textSize="20sp"
          android:textColor="@android:color/black"
          android:text="@string/app_name"/>

0

Tôi đã gặp sự cố tương tự nhưng với khoảng cách giữa biểu tượng / biểu tượng ứng dụng tùy chỉnh trên thanh tác vụ. Giải pháp đặt đệm theo chương trình của Dushyanth phù hợp với tôi (đặt đệm trên biểu tượng ứng dụng / logo). Tôi đã cố gắng tìm android.R.id.home hoặc R.id.abs__home ( chỉ dành cho ActionBarSherlock , vì điều này đảm bảo khả năng tương thích ngược) và nó có vẻ hoạt động trên các thiết bị 2.3-4.3 mà tôi đã thử nghiệm.


0

Đối với trường hợp của tôi, đó là với Thanh công cụ, tôi đã giải quyết nó như thế này:

ic_toolbar_drawble.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:drawable="@drawable/ic_toolbar"
    android:right="-16dp"
    android:left="-16dp"/>
</layer-list>

Trong Fragment của tôi, tôi kiểm tra api:

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
      toolbar.setLogo(R.drawable.ic_toolbar);
else
      toolbar.setLogo(R.drawable.ic_toolbar_draweble);

Chúc may mắn!


0

Bạn có thể thay đổi drawableSize của DrawerArrow như thế này:

<style name="MyTheme" parent="android:Theme.WithActionBar">
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="barLength">24dp</item>
    <item name="arrowShaftLength">24dp</item>
    <item name="arrowHeadLength">10dp</item>
    <item name="drawableSize">42dp</item> //this is your answer
</style>

Nó không phải là câu trả lời chính xác, vì bạn không thể chọn tỷ lệ bên đệm và biểu tượng DrawerArrow khi thay đổi drawableSize (drawableSize = width = height). Nhưng bạn có thể lề trái. Để lề phải làm

findViewById(android.R.id.home).setPadding(10, 0, 5, 0);

0

Tôi đã sử dụng phương pháp này setContentInsetsAbsolute(int contentInsetLeft, int contentInsetRight)và nó hoạt động!

int padding = getResources().getDimensionPixelSize(R.dimen.toolbar_content_insets);
mToolbar.setContentInsetsAbsolute(padding, 0);

0

Khi bạn đang sử dụng Thanh công cụ tùy chỉnh, bạn có thể sử dụng

toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle(R.string.activity_title);
setSupportActionBar(toolbar);
getSupportActionBar().setLogo(R.drawable.logo);

và trong bố cục thanh công cụ của bạn, chỉ cần đặt app:titleMarginStart="16dp"

Lưu ý rằng bạn phải đặt biểu tượng làm logo, không sử dụng getSupportActionBar().setIcon(R.drawable.logo) thay vào đó hãy sử dụng: getSupportActionBar().setLogo(R.drawable.logo)


0

Tôi đã sử dụng AppBarLayoutvà tùy chỉnh ImageButtonlàm như vậy.

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:elevation="0dp"
    android:background="@android:color/transparent"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

   <RelativeLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent">

       <ImageView
           android:layout_width="32dp"
           android:layout_height="32dp"
           android:src="@drawable/selector_back_button"
           android:layout_centerVertical="true"
           android:layout_marginLeft="8dp"
           android:id="@+id/back_button"/>

       <android.support.v7.widget.Toolbar
           android:id="@+id/toolbar"
           android:layout_width="match_parent"
           android:layout_height="?attr/actionBarSize"
           app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
    </RelativeLayout>    
</android.support.design.widget.AppBarLayout>

Mã Java của tôi:

findViewById(R.id.appbar).bringToFront();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
final ActionBar ab = getSupportActionBar();
getSupportActionBar().setDisplayShowTitleEnabled(false);

0

Bạn cũng có thể đạt được điều tương tự bằng phương pháp:

Drawable d = new InsetDrawable(getDrawable(R.drawable.nav_icon),0,0,10,0);
mToolbar.setLogo(d);

0

Trong XML của bạn, hãy đặt app:titleMargintrong dạng xem Thanh công cụ của bạn như sau:

<androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:titleMarginStart="16dp"/>

Hoặc trong mã của bạn:

toolbar.setTitleMargin(16,16,16,16); // start, top, end, bottom

-2

công việc này giúp tôi thêm phần đệm vào tiêu đề và cho ActionBarbiểu tượng, tôi đã đặt điều đó theo chương trình.

 getActionBar().setTitle(Html.fromHtml("<font color='#fffff'>&nbsp;&nbsp;&nbsp;Boat App </font>"));

-2
<string name="app_name">"    "Brick Industry</string>

Chỉ cần thêm " "tên ứng dụng của bạn Nó sẽ thêm khoảng cách giữa biểu tượng và tiêu đề


Đây không phải là xấu, tôi không biết tại sao nó đã quá downvoted
Martin De Simone

có lẽ đôi khi giải pháp đơn giản nhất là tốt nhất! cảm ơn
Nuhman
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.