java - 如何缩小操作栏中向上/后退箭头和标题之间的间距?

标签 java android android-actionbar

我知道这个问题之前已经被问过,并且我已经查看了解决方案。我想缩小箭头和标题之间的间距,下图空间太大。

enter image description here

最流行的解决方案是在我的工具栏中添加 app:contentInsetStartWithNavigation="0dp" XML 代码,如下所示:

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:theme="@style/CustomToolbarStyle"
            app:layout_collapseMode="pin"
            app:contentInsetStartWithNavigation="0dp"/>

当我这样做并运行我的应用程序时,我收到错误消息:

Error:(100) No resource identifier found for attribute 'contentInsetStartWithNavigation' in package 'com.packagename'

谷歌搜索该错误导致我尝试解决方案,例如添加到我的 XML:

            android:contentInsetStart="0dp"
            android:contentInsetLeft="0dp"
            android:contentInsetRight="0dp"
            android:contentInsetEnd="0dp"
            app:contentInsetLeft="0dp"
            app:contentInsetStart="0dp"
            app:contentInsetRight="0dp"
            app:contentInsetEnd="0dp"

但是当我加载应用程序时,箭头和标题之间的间距没有改变,仍然有很大的空间。

我在 XML 中使用 CoordinatorLayout,但不明白为什么这会产生任何差异。

此外,当我替换时,在我的 XML

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/lib/com.mypackage.name"

根据此解决方案:error: No resource identifier found for attribute 'adSize' in package 'com.google.example' main.xml

我仍然收到错误。

这是我的 Activity 的 java 代码,位于 onCreate 中:

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

//Show the arrow to go back
ActionBar actionbar = getSupportActionBar();
actionbar.setDisplayHomeAsUpEnabled(true);

//show the App title
actionbar.setTitle("Pop");

这是我的 Activity xml 布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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:fitsSystemWindows="true"
    tools:context="com.example.chris.populisto.NewContact">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:theme="@style/AppTheme">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="350dp"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleTextAppearance="@android:color/transparent"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:titleEnabled="false"

            >

            <LinearLayout
                android:id="@+id/holder"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="9.5"
                android:orientation="vertical"
                android:paddingLeft="16dp"
                android:paddingRight="16dp"
                app:layout_collapseMode="parallax">


                <TextView
                    android:id="@+id/textViewInvisible"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="2"
                    android:background="@drawable/textboxes_for_contact"
                    android:visibility="invisible" />

                <AutoCompleteTextView
                    android:id="@+id/textViewCategory"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/textboxes_for_contact"
                    android:hint="Category" />

                <EditText
                    android:id="@+id/textViewName"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/textboxes_for_contact"
                    android:hint="Name" />

                <EditText
                    android:id="@+id/textViewPhone"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/textboxes_for_contact"
                    android:hint="Phone" />

                <AutoCompleteTextView
                    android:id="@+id/textViewAddress"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/textboxes_for_contact"
                    android:hint="Address" />

                <EditText
                    android:id="@+id/textViewComment"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/textboxes_for_contact"
                    android:hint="Comment" />

                <TextView
                    android:id="@+id/textViewInvisible2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/textboxes_for_contact"
                    android:visibility="invisible" />


            </LinearLayout>

            <!--This is for bar pinned to top of screen-->
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:theme="@style/CustomToolbarStyle"
                app:layout_collapseMode="pin"
/>



        </android.support.design.widget.CollapsingToolbarLayout>


     <fragment
         android:name="com.example.chris.populisto.ButtonSharingFragment"
         android:id = "@+id/myFragment"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
        />

    </android.support.design.widget.AppBarLayout>


    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="vertical"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    <!--This is positioned in the toolbar, above-->
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:orientation="vertical">

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

            >

            <Button
                android:id="@+id/cancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:text="CANCEL" />

            <Button
                android:id="@+id/save"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toLeftOf="@id/cancel"
                android:layout_marginRight="1dp"
                android:text="SAVE" />

        </RelativeLayout>
    </LinearLayout>

</android.support.design.widget.CoordinatorLayout>

这是我的 gradle 依赖项:

dependencies {
    //this is the volley library
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    // compile 'com.android.support:appcompat-v7:+'

    compile 'com.android.volley:volley:1.0.0'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.googlecode.libphonenumber:libphonenumber:8.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.google.code.gson:gson:2.8.1'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:recyclerview-v7:23.0.0-alpha1'
    compile 'com.google.android.gms:play-services-places:15.0.1'
    compile ('com.android.support:support-v4:23.4.0'){
        force = true;
    }


}

最佳答案

您可以将自定义 View 添加到工具栏:

Toolbar toolbar = findViewById(R.id.toolbar)
setSupportActionBar(toolbar);
View logo = getLayoutInflater().inflate(R.layout.toolbar_custom_view_layout, null);
toolbar.addView(logo);

xml toolbar_custom_view_layout 可以是这样的:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/back_arrow_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/back_arrow"
        android:layout_gravity="center_vertical"/>

    <TextView
        android:id="@+id/title_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/title"
        android:layout_gravity="center_vertical"
        android:marginStart="12dp"/>

</LinearLayout>

关于java - 如何缩小操作栏中向上/后退箭头和标题之间的间距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51038422/

相关文章:

java - 获取 map 中的用户位置

java - 为什么它不交出我的东西?

java - 如何在 Java 中不使用 Cookie 来运行 "Remember Me?"功能?

java - spring 的构造函数参数行为... 为什么要遵循以下行为?

android - Android源码编译Helloworld的方法

android - 为什么在调用 onEndOfSpeech 后启动 SpeechRecognizer 时它很忙?

java服务器在Android设备上推送图像

Android 操作栏主页按钮

android - ActionBar 上的溢出操作未显示

android - 我可以在 ActionBar 菜单图标中使用矢量可绘制文件吗?