相关疑难解决方法(0)

工具栏图标和工具栏标题之间​​的空格

我想在toolbar图标和工具栏标题之间放置空格,而且我想要改变statusbar我的应用程序中的颜色与toolbar任何人可以帮助的颜色相同,目前它看起来像这样:

在此输入图像描述

这是我的代码:

public class AbstractActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_abstract);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    getSupportActionBar().setIcon(R.drawable.ic_astrological_sun);
  }
}

<?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="#0F6177"
    app:popupTheme="@style/AppTheme.PopupOverlay" >
    </android.support.v7.widget.Toolbar>
  </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android

12
推荐指数
3
解决办法
9399
查看次数

工具栏中的SearchView和collapseIcon之间的边距

我试图实现android.support.v7.widget.SearchViewcollapseIconToolbar.一切工作正常即SearchView工作正常,但我无法删除/减少填充之间SearchViewcollapseIcon,如可见随附的屏幕截图.

有关如何做到这一点的任何想法?

搜索查看

我试过了 :

app:contentInsetStartWithNavigation="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
android:contentInsetLeft="0dp"
android:contentInsetStart="0dp"
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

android searchview

11
推荐指数
2
解决办法
4100
查看次数

将图标与工具栏图标对齐 - Android Material Design

在新的Material Design(使用AppCompat)中,我试图将一些动作图标与新工具栏的抽屉图标对齐.就像是:

在此输入图像描述

我想我正在正确地查看所有指标......

触摸目标尺寸

在此输入图像描述

问题是我不能完美地对齐它,因为在那之后剩下16px的填充,图标应该开始,但图标本身也有一些"填充"(来自材料github的图标),如:

在此输入图像描述

也许是愚蠢但我不知道我错过了什么.如何才能考虑图像内部的填充以正确对齐它?对齐单选按钮或复选框与该操作栏图标有同样的问题.

我尝试了这段代码:

<RelativeLayout
    android:id="@+id/image_button"
    android:layout_width="72dp"
    android:layout_height="wrap_content">

    <ImageView
        android:layout_width="32dp"
        android:layout_height="48dp"
        android:layout_marginLeft="16dp"
        android:layout_marginStart="16dp"
        android:src="@drawable/ic_label_grey600_48dp" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

但是看起来并不符合我(就像我发布的第一张截图一样).这里也看起来完美对齐:

在此输入图像描述

看起来喜欢考虑的东西超过72px和16px的填充.


UPDATE

好的,让我向您展示更多示例和一些代码.我的列表项目具有带标签文本的单选按钮的成像.

<RadioButton
     style="?android:textAppearanceMedium"
     android:layout_width="wrap_content"
     android:layout_height="48dp"
     android:layout_marginLeft="16dp"
     android:paddingLeft="32dp"
     android:singleLine="true"/>
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述

在此输入图像描述

我实际上没有看到规则将marginLeft和paddingLeft设置为正确的值而不使用自定义按钮作为单选按钮(并且知道该按钮的尺寸)... < - 这是一个不好的选项,因为颜色按钮取自我的accentColor(材料的新东西).

它看起来似乎新的Gmail应用程序面临一些对齐问题(当我选择邮件时,1与邮件标题不再对齐):

在此输入图像描述

在此输入图像描述

android android-layout android-icons android-actionbar material-design

10
推荐指数
1
解决办法
4707
查看次数

Android ActionBar后退按钮默认填充

我创建一个自定义的ActionBar使用RelativeLayoutImageButton左侧以取代它。我已经从Google网站下载了“后退”图标,可以在ImageButton

问题是我需要创建一个“后退”按钮来替换原始的ActionBar“后退按钮”,并且我需要使其与原始ActionBar“后退”按钮完全相同。

我想知道“返回”按钮图像的系统默认填充是什么?

android android-layout android-actionbar android-toolbar

7
推荐指数
2
解决办法
7017
查看次数

DrawerLayout在更新到Android 6.0.1后停止正常工作

几个小时前我已经将我的Android设备版本更新到6.0.1,从那时起我的应用程序崩溃了,当我离开活动时,它持有DrawerLayout并出现此错误:

12-16 16:08:04.122 9331-9331/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.my.app, PID: 9331
java.lang.IllegalArgumentException: DrawerLayout must be measured with MeasureSpec.EXACTLY.
at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:831)
at android.view.View.measure(View.java:18794)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.support.v7.internal.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:124)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643)
at android.view.View.measure(View.java:18794)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2100)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1216)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1452)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
at …
Run Code Online (Sandbox Code Playgroud)

android android-6.0-marshmallow

6
推荐指数
1
解决办法
641
查看次数

如何在Android中的ActionBar中删除左填充边距的额外空间?

我一直在拉我的头发反对这个左边的填充/边距只是不要消失问题,即将成为秃头......对此的解决方案将不胜感激!我已经尝试过 SO 的这些答案,它确实移动了一些填充,但不是全部。基本上所有的答案都说将 contentInsetStart 和 contentInsetLeft 设置为 0dp。这确实删除了左侧的一些填充,但我仍然看到一个填充,它只是比我将 contentInsetStart 和 contentInsetLeft 设置为 0dp 之前小。此解决方案适用于三星手机,但不适用于我测试过的任何平板电脑,例如 Nexus 7、Nexus 9、Dell Venus 8 等。 在此处输入图片说明

我相信很多人都有这个问题,这些是我尝试过的答案,但仍然在上面显示的左侧留下填充/边距。

Android:从操作栏的自定义布局中删除左边距

Android Lollipop、AppCompat ActionBar 自定义视图不占用整个屏幕宽度

Android API 21 工具栏填充

我的活动/操作栏左侧的填充/边距 - 不知道它来自哪里,无法删除它

如何删除默认布局的填充/边距

如何在 ActionBar 上移除应用程序图标和屏幕边缘之间的边距?

样式

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="actionBarStyle">@style/AppThemeActionBar</item>
        <item name="logo">@android:color/transparent</item>
    </style>

    <style name="AppThemeActionBar" parent="@style/Widget.AppCompat.ActionBar">
        <item name="displayOptions">showCustom</item>
        <item name="background">@color/blue</item>
        <item name="actionBarSize">50dp</item>
        <item name="height">50dp</item>

        <item name="contentInsetLeft">0dp</item>
        <item name="contentInsetStart">0dp</item>
        <item name="contentInsetEnd">0dp</item>
        <item name="android:layout_marginLeft">0dp</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

活动布局,activity_main.xml,它几乎是空的,只是主要活动类的虚拟布局,自定义操作栏视图位于另一个布局文件中。

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

</LinearLayout> …
Run Code Online (Sandbox Code Playgroud)

layout android margin padding android-actionbar

5
推荐指数
1
解决办法
3942
查看次数

ToolBar标题不居中

我试图将我的ToolBar标题集中在一起:

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

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:theme="@style/ThemeToolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary">

        <TextView
            android:id="@+id/toolbar_title"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="LOGO"
            android:textColor="@color/colorAccent"
            android:textSize="32sp"
            android:textStyle="bold"
            tools:ignore="HardcodedText" />

    </android.support.v7.widget.Toolbar>

</android.support.design.widget.AppBarLayout>
Run Code Online (Sandbox Code Playgroud)

ToolBar默认对齐它的标题.为了对齐标题中心,我在工具栏中添加了一个TextView.但它并不完全集中.我试图从左边给出负余量,但它不起作用.

在此输入图像描述 我该怎么做?

android toolbar

3
推荐指数
1
解决办法
5833
查看次数

包含的工具栏有奇怪的边距(Android 约束布局)

我尝试使用约束布局重建我的工具栏,但有些事情我自己无法解决。

我在另一个布局中使用了包含的工具栏,一切看起来都不错,但是包含的工具栏有奇怪的左边距。我检查了所有边距和填充,但仍然......

图片:

包含工具栏的奇怪边距

在此处输入图片说明

如您所见,父工具栏和包含的 new_toolbar 之间有一个空格

活动.xml:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="56dp"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize"
    android:padding="0dp"
    app:titleTextColor="@android:color/white">

    <include
        android:id="@+id/actionBar"
        layout="@layout/new_toolbar" />

</android.support.v7.widget.Toolbar>

<ListView
    android:id="@+id/listAccount"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="56dp"/>

<android.support.design.widget.BottomNavigationView
    android:id="@+id/bottom_navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    android:layout_alignParentBottom="true"
    app:layout_anchor="@id/listAccount"
    app:layout_anchorGravity="bottom"

    app:itemBackground="@color/white"
    app:itemIconTint="@drawable/selector_bottom_navigation"
    app:itemTextColor="@drawable/selector_bottom_navigation"
    app:menu="@menu/bottom_navigation"/>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

new_toolbar.xml

<ImageButton
    android:id="@+id/mainIcon"

    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginTop="16dp"
    app:layout_constraintLeft_toLeftOf="parent"
    android:layout_marginLeft="16dp"

    android:layout_height="24dp"
    android:layout_width="24dp"

    android:background="@null"
    android:tint="@color/white"
    app:srcCompat="@drawable/ic_menu_black_24dp" />

<TextView
    android:id="@+id/title"

    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginTop="14dp"
    app:layout_constraintLeft_toRightOf="@+id/mainIcon"
    android:layout_marginLeft="32dp"

    android:layout_height="24dp"
    android:layout_width="wrap_content"

    android:fontFamily=" Roboto Semibold"
    android:text="Title"
    android:textColor="@color/white"
    android:textSize="20sp" />

<ImageButton
    android:id="@+id/rightIcon1"

    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginTop="16dp"
    app:layout_constraintRight_toRightOf="parent"
    android:layout_marginRight="16dp"

    android:layout_height="24dp"
    android:layout_width="24dp"

    android:background="@null"
    android:tint="@color/white"
    app:srcCompat="@drawable/ic_add_black_24dp" />

<ImageButton
    android:id="@+id/rightIcon2" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-constraintlayout

3
推荐指数
1
解决办法
990
查看次数

工具栏的左侧增加了额外的空间

我在应用程序中使用了自定义工具栏。工具栏的左侧增加了额外的空间。这是我的Xml文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:id="@+id/customActionBar"
    android:layout_height="wrap_content"
    android:background="@color/titleBar">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

    <ImageButton
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:id="@+id/leftIcon"
        android:src="@drawable/abc_btn_rating_star_on_mtrl_alpha"
        android:background="@android:color/transparent"
        android:layout_weight="0.2"/>

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/actionTitleText"
        android:text="@string/app_name"
        android:textColor="@color/abc_primary_text_disable_only_material_dark"
        android:textSize="@dimen/text_22sp"
        android:padding="@dimen/size_12dip"
        android:gravity="center_horizontal"
        android:layout_weight="0.6"/>

    <ImageButton
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/rightIcon"
        android:src="@drawable/abc_btn_rating_star_on_mtrl_alpha"
        android:background="@android:color/transparent"
        android:layout_weight="0.2"/>
</LinearLayout>


</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

你能帮忙吗?它从屏幕的左边给出了一些边距,但是我没有给出任何边距属性。这是将其膨胀为活动的代码:

 @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        super.setContentView(R.layout.activity_main);
        baseViewContent = (LinearLayout) findViewById(R.id.main_activity_content_view);
        viewController = new ViewController(this, baseViewContent);
        activity = this;

        // Set a toolbar to replace the action bar.
        android.support.v7.widget.Toolbar toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.customActionBar);
        setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)

android android-toolbar

2
推荐指数
1
解决办法
1208
查看次数