2016-11-18 52 views
0

我设置的自定义视图到我的工具栏右边界:安卓:在向上按钮在工具栏上

ActionBar actionBar = getSupportActionBar(); 
View customView = getLayoutInflater().inflate(resId, null); 
actionBar.setCustomView(customView); 
actionBar.setDisplayShowCustomEnabled(true); 

它看起来很好,直到我能够向上按钮:

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

下面是图片带有向上按钮和不带的工具栏。我已将灰色添加到自定义视图的背景中以查看实际元素大小。

没有:
without

有了:
with

这里是布局检查员窗口的图像。 Up按钮和自定义视图之间有一个空格。

layout inspector

+0

发表您的' xml'并使用'click listner'而不是'getSupportActionBar()。setDisplayHomeAsUpEnabled(true);' – sushildlh

回答

1

取而代之的是,你必须写自己的向上按钮:

<ImageButton 
    android:id="@+id/action_back" 
    style="@style/Widget.AppCompat.ActionButton" 
    android:layout_width="48dp" 
    android:layout_height="48dp" 
    android:layout_gravity="center_vertical" 
    android:onClick="onClick" 
    app:srcCompat="@drawable/ic_arrow_back_white" 
    tools:ignore="ContentDescription" /> 

android:onClick="onClick"Button和сreate方法的Java类像下面这样

@Override 
public void onClick(View v) { 
    NavUtils.navigateUpFromSameTask(TheoryActivity.this); 
} 
+0

感谢这个想法!很简单,工作.. –

+0

@ArtemMostyaev很高兴知道这一点。 – Ironman

+0

请看我的编辑建议。这将更加明确,并在未来帮助某人。 –

相关问题