从工具栏中删除边距

时间:2016-09-01 19:37:47

标签: android android-layout android-toolbar android-styles

我通过Google的教程为我的Android应用创建了自定义工具栏,但即使我认为我的代码与教程相同,我的工具栏上也有一个附加边距。

Margin at my toolbar

这是我的 layout.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.gruber.jakub.personalscheduler.MainActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/my_toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:paddingLeft="0dp"
        android:elevation="4dp"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name"
        android:textSize="30sp"
        android:layout_centerHorizontal="true"
        android:layout_above="@+id/button"
        android:layout_marginBottom="60dp"/>

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:text="@string/button1"
        android:layout_centerInParent="true" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:src="@android:drawable/ic_menu_today"
        android:elevation="4dp" />

</RelativeLayout>

和我的 styles.xml

<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>

    <!--Action bar style-->
    <item name="android:actionBarStyle">@style/ActionBarTheme</item>
</style>

<style name="ActionBarTheme" parent="Widget.AppCompat.ActionBar">
    <item name="android:paddingLeft">0dp</item>
    <item name="android:paddingRight">0dp</item>
    <item name="android:paddingTop">0dp</item>
    <item name="android:paddingBottom">0dp</item>
</style>

如果我在layout.xml中更改android:padding...属性,它看起来就像我想要的那样,但这不是我想做的,因为我必须为所有其他元素添加额外的属性

2 个答案:

答案 0 :(得分:2)

只需看看你的容器:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.gruber.jakub.personalscheduler.MainActivity">

你到处都是填充物! :

    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"

这些是利润。删除它们你很好。我建议你开始做一些教程。

答案 1 :(得分:1)

解决方案非常简单。首先,您需要删除父RelativeLayout的填充定义。并且由于您希望视图的其余部分使用这些属性而不是toobar创建新的LinearLayout / RelativeLayout并在那里定义属性。如下 &lt;?xml version =&#34; 1.0&#34;编码=&#34; UTF-8&#34;&GT; &lt; RelativeLayout xmlns:android =&#34; http://schemas.android.com/apk/res/android"     的xmlns:工具=&#34; HTTP://schemas.android.com/tools"     的xmlns:应用程式=&#34; HTTP://schemas.android.com/apk/res-auto"     机器人:layout_width =&#34; match_parent&#34;     机器人:layout_height =&#34; match_parent&#34;     工具:上下文=&#34; com.gruber.jakub.personalscheduler.MainActivity&#34;&GT;     &LT; android.support.v7.widget.Toolbar         机器人:ID =&#34; @ + ID / my_toolbar&#34;         机器人:layout_width =&#34; match_parent&#34;         机器人:?layout_height =&#34; ATTR / actionBarSize&#34;         机器人:?背景=&#34; ATTR / colorPrimary&#34;         机器人:paddingLeft =&#34; 0dp&#34;         机器人:海拔=&#34; 4DP&#34;         应用程式:popupTheme =&#34; @风格/ ThemeOverlay.AppCompat.Light&#34; /&GT;     &LT; RelativeLayout的         机器人:layout_width =&#34; match_parent&#34;         机器人:layout_height =&#34; match_parent&#34;         机器人:paddingBottom来=&#34; @扪/ activity_vertical_margin&#34;         机器人:paddingLeft =&#34; @扪/ activity_horizo​​ntal_margin&#34;         机器人:paddingRight =&#34; @扪/ activity_horizo​​ntal_margin&#34;         机器人:paddingTop =&#34; @扪/ activity_vertical_margin&#34;         机器人:取向=&#34;垂直&#34;&GT;         &LT; TextView的             机器人:layout_width =&#34; WRAP_CONTENT&#34;             机器人:layout_height =&#34; WRAP_CONTENT&#34;             机器人:文本=&#34; @串/ APP_NAME&#34;             机器人:TEXTSIZE =&#34; 30sp&#34;             机器人:layout_centerHorizo​​ntal =&#34;真&#34;             机器人:layout_marginBottom =&#34; 60dp&#34; /&GT;        &LT;按钮            机器人:ID =&#34; @ + ID /按钮&#34;            机器人:layout_width =&#34; WRAP_CONTENT&#34;            机器人:layout_height =&#34; WRAP_CONTENT&#34;            机器人:填充=&#34; 10dp&#34;            机器人:文本=&#34; @串/ button1的&#34;            机器人:layout_centerInParent =&#34;真&#34; /&GT;        &LT; android.support.design.widget.FloatingActionButton           机器人:ID =&#34; @ + ID / FAB&#34;           机器人:layout_width =&#34; WRAP_CONTENT&#34;           机器人:layout_height =&#34; WRAP_CONTENT&#34;           机器人:layout_alignParentBottom =&#34;真&#34;           机器人:layout_alignParentRight =&#34;真&#34;           机器人:SRC =&#34; @android:可拉伸/ ic_menu_today&#34;           机器人:海拔=&#34; 4DP&#34; /&GT;      &LT; / RelativeLayout的&GT; &LT; / RelativeLayout的&GT;