在我的自定义操作栏下面有奇怪的黑线

时间:2013-11-28 17:12:38

标签: android android-actionbar

我制作了自定义操作栏,但下面有一个丑陋的下划线。

enter image description here

你可以在我的绿色动作栏下看到黑线。

我的Action Bar xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="3dp"
    android:layout_marginLeft="4dp"
    android:layout_marginRight="0dp"
    android:layout_marginTop="4dp" >

    <ImageButton
        android:id="@+id/menuToggleBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:adjustViewBounds="false"
        android:background="@null"
        android:scaleType="centerInside"
        android:src="@drawable/menu_btn" />

    <ImageView
        android:id="@+id/loadingIconIv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1"
        android:src="@drawable/flexilogo" />

    <ImageButton
        android:id="@+id/ImageButton01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="false"
        android:background="@null"
        android:scaleType="centerInside"
        android:src="@drawable/menu_btn"
        android:visibility="invisible" />

</LinearLayout>

<View
    android:id="@+id/view1"
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="#6ea541" />

我的代码::

ActionBar actionBar = getActionBar();
    actionBar.setCustomView(R.layout.action_bar);


    menuToggleBtn = (ImageButton) actionBar.getCustomView().findViewById(
            R.id.menuToggleBtn);
    menuToggleBtn.setOnClickListener(this);

    actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);

为什么那条黑线在那里?我想摆脱它。 如果可以,请帮忙。

E D I T:

我试图添加:

<item name="android:windowContentOverlay">@null</item>.

到我的应用程序的样式,但它不起作用:(

3 个答案:

答案 0 :(得分:3)

这可能是影子......看看Remove shadow below actionbar

要删除它,您必须制作样式并使用<item name="android:windowContentOverlay">@null</item>

答案 1 :(得分:3)

LinearLayout标签上的

android:layout_height =“match_parent” 应该解决它

答案 2 :(得分:0)

  1. 在Eclipse ADT中使用hierarchyviewer透视图并将活动加载到其中。
  2. 然后选择不同的节点以显示其图形表示。
  3. 尝试找到包含黑线的节点。
  4. 您还可以点击右下方布局预览中的近似点,选择包含此位置的节点。
  5. 然后通过右键单击树视图中的节点并按小预览上方的框图标,检查所选节点和邻近(兄弟)节点及其图形预览的布局和测量属性。
  6. 如果您找到包含黑线的节点,请查看其布局属性并修复它们
  7. 如果没有一个节点包含黑线本身,则可能是布局中的间隙,默认背景闪烁。然后你可能必须修复主内容视图的布局属性(layout_height)(包含TextView的那个说“segedanyaok”)。
  8. 提示:

    如果您的应用程序的活动未在层次结构透视图的Windows视图中以粗体显示,则需要在应用程序的活动中包含ViewServer组件,以便使用hierarchyviewer启用内省:https://github.com/romainguy/ViewServer

    如果层次结构查看连接遇到问题(可能是由于超时)并且没有响应错误,请从ddms-perspective,Devices-view,菜单项“Reset adb”重置与设备的adb-connection

    另一个提示:

    您不必使用自定义视图以这种样式显示徽标。要拥有带徽标的抽屉设备,请查看如何包含Google的导航栏http://developer.android.com/design/patterns/navigation-drawer.html以及如何将徽标添加为操作栏/抽屉图标http://developer.android.com/guide/topics/ui/actionbar.html#Logo