gpt4 book ai didi

java - Android 上的中心应用栏标题

转载 作者:行者123 更新时间:2023-12-02 03:10:27 25 4
gpt4 key购买 nike

我正在尝试创建自己的自定义应用程序栏,其标题居中对齐。 Android Studio 的编辑器显示我的标题已正确居中,但它不在我的实际设备上。

MainActivity.java

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Toolbar myToolbar = (Toolbar) findViewById(R.id.encounter_toolbar);
setSupportActionBar(myToolbar);

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.encounter_menu_bar_layout);
}

encounter_menu_bar_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">

<TextView
android:id="@+id/encounter_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/untitled"
android:textSize="20sp"
android:textColor="@color/titleTextColor"
android:textStyle="bold"
android:layout_gravity="center" />

</LinearLayout>

encounter_menu_bar.xml 中没有任何内容:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

</menu>

Here's what shows up on my device

编辑

很多人建议我将 android:layout_gravity 更改为 android:gravity。我也尝试过,但仍然无法正确排列。

我允许应用栏显示在特定 fragment 上,如下所示:

EncounterFragment.java

public class EncounterFragment extends Fragment {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
setHasOptionsMenu(true);

return inflater.inflate(R.layout.fragment_encounter, container, false);
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater menuInflater) {
menuInflater.inflate(R.menu.encounter_menu_bar, menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO: This
return super.onOptionsItemSelected(item);
}
}

我还忘了提及我正在将菜单附加到 fragment 中。这是它的布局:

fragment_encounter.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.v7.widget.Toolbar
android:id="@+id/encounter_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</LinearLayout>

最佳答案

尝试添加android:gravity="center"。发生这种情况是因为您必须将整个文本居中,而不仅仅是布局居中

关于java - Android 上的中心应用栏标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41131405/

25 4 0