【发布时间】:2017-03-19 04:24:33
【问题描述】:
我正在尝试在中心制作一个动作栏的标题栏,
我尝试了代码使其居中但没有成功
我的代码在片段((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
((AppCompatActivity)getActivity()).getSupportActionBar().setCustomView(R.layout.toobar_center_withback); ((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
我的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="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="SIGN IN"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
android:textStyle="bold" />
</LinearLayout>
它给出输出 我也尝试了一些对 textview 的边距,但我怎么知道不同屏幕的实际边距测量
我遵循了这些解决方案,但没有成功
How to align title at center of ActionBar in default theme(Theme.Holo.Light)
另一件事是我不想使用任何工具栏或其他东西,我想要一个适用于所有片段的简单解决方案
我也写了代码但没有成功
public void setTitle(String title) {
((AppCompatActivity) getActivity()).getSupportActionBar().setHomeButtonEnabled(true);
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
TextView textView = new TextView(getActivity());
textView.setText(title);
textView.setTextSize(20);
textView.setTypeface(null, Typeface.BOLD);
textView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
textView.setGravity(Gravity.CENTER);
textView.setTextColor(getResources().getColor(R.color.black));
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
((AppCompatActivity) getActivity()).getSupportActionBar().setCustomView(textView);
}
当我没有按钮或有后退按钮并且菜单中还有一个带有 showaction 的按钮时,它工作正常
【问题讨论】:
-
我认为,您的文本视图在后退按钮后膨胀。这就是为什么它在默认向上按钮之后计算您的工具栏的原因。所以,基本上你使用重力右和它的工作..但它的父布局在向上按钮之后开始......这就是为什么......当你在工具栏中添加按钮时,它会将文本向左移动(根据到按钮宽度)。
-
实际上我正在使用片段,并且我还更改了后退按钮的默认行为,因此我正在调用 ((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);沉降后
-
不管你是否使用片段。它不相关。它只是关于视图和它的边界。这不是问题.. up 按钮只是占用它的空间.. 其余的是你的文本视图标题。
-
解决办法是什么
-
它没有像解决方案那样的解决方案。它可以通过技巧来完成。只需将 padding_right/margin_right 添加到您的文本视图(padding==向上按钮大小)。
标签: android android-layout android-studio android-fragments