我想在ActionBar的中心放置公司徽标(绝对是屏幕的中心)。如何精确计算屏幕的中心点(按宽度)?
活动代码:
ActionBar actionBar = getSupportActionBar();
LayoutInflater inflator = (LayoutInflater) this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.action_bar_layout, null);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(v);
action_bar_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/common_google_signin_btn_icon_dark_focused"/>
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
有任何想法如何做到这一点?
答案 0 :(得分:0)
简单答案是,您应该使用RelativeLayout
代替LinearLayout
并在android:layout_centerVertical="true"
上设置ImageView
。跳过两个占位符视图。
我建议您使用ToolBar
代替(这需要您使用支持库)。将RelativeLayout放在ToolBar中,width = height = match_parent。然后在您的活动中,执行以下操作
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);