这是我的自定义操作栏的图像:
我想使用整个宽度,我已经在互联网上搜索了解决方案,但对我来说没什么问题。
这是我的操作栏.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageView
android:layout_width="50dp"
android:layout_height="match_parent"
android:id="@+id/invActionBarSave"
android:src="@drawable/ic_ok_b"
android:nestedScrollingEnabled="true"
android:layout_alignParentRight="true"
android:background="#ffb0afaf"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp" />
<ImageView
android:layout_width="50dp"
android:layout_height="match_parent"
android:id="@+id/invActionBarDelete"
android:src="@drawable/ic_trash"
android:nestedScrollingEnabled="true"
android:layout_toLeftOf="@+id/invActionBarSave"
android:layout_marginRight="5dp"
android:background="#ffb0afaf"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:singleLine="true"
android:text="אלסאדק אחמד אבו האני"
android:textSize="18dp"
android:textColor="#ff000000"
android:id="@+id/invActionBarTitle"
android:gravity="center|right"
android:layout_toLeftOf="@+id/invActionBarDelete"
android:layout_toRightOf="@+id/invActionBarHome"
android:layout_marginRight="20dp"
android:layout_marginLeft="10dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/invActionBarHome"
android:src="@drawable/ic_back_b"
android:nestedScrollingEnabled="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="false"
android:paddingLeft="10dp" />
<ProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminateOnly="false"
style="@style/ProgressBar.Horizontal"
android:indeterminate="true"
android:id="@+id/invActionBarProgressBar"
android:visibility="gone"
android:layout_below="@+id/invActionBarDelete"
android:paddingLeft="10dp" />
</RelativeLayout>
这是我的Java代码:
getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setDisplayShowTitleEnabled(false);
LayoutInflater mInflater = LayoutInflater.from(this);
//View mCustomView = mInflater.inflate(R.layout.actionbar_invoice, null);
getSupportActionBar().setCustomView(R.layout.actionbar_invoice);
getSupportActionBar().setDisplayShowCustomEnabled(true);
setContentView(R.layout.cstmrinvoice);
getWindow().
getDecorView().
setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
[编辑]
这是一个简单的例子:
这是.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:contentInsetEnd="0dp"
android:contentInsetStart="0dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Small Text"
android:id="@+id/textView6"
android:background="#ffff0000"
android:textColor="#ffffffff" />
</RelativeLayout>
同样的结果,操作栏的右边还有一个空格!
谢谢
读取此link1,link2并将contentInsets设置为0dp,如下所示:
View mCustomView = mInflater.inflate(R.layout.actionbar_invoice, null);
getSupportActionBar().setCustomView(mCustomView);
Toolbar toolbar=(Toolbar)mCustomView.getParent();
toolbar.setContentInsetsAbsolute(0,0);
如果您使用自定义工具栏而不是ActionBar,请使用以下代码:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="@dimen/action_bar_height"
android:background="?attr/colorPrimary"
android:contentInsetStart="0dp"//see this
android:contentInsetLeft="0dp"//see this
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
希望对您有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句