Phi*_*ord 5 android android-styles android-toolbar
我一直在关注有关如何创建应用程序工具栏的官方文档。教程说,按照说明进行操作后,
“您的应用程序现在有一个基本的操作栏。默认情况下,操作栏仅包含应用程序的名称和溢出菜单。”
正如您从这张图片中看到的,我已经做了一些样式来获得我想要的颜色,并且我添加了一个菜单项,只是为了看看它是否正确显示。稍后我将研究如何修复图标的颜色。
我的问题是,正如您所看到的,应用程序标题没有垂直居中。距离顶部太近了。这让我很恼火,因为据我所知,它应该自动居中,而我不知道为什么我的不是,但我仍然尝试使用样式自己解决这个问题,但绝对没有成功。样式属性似乎对工具栏标题的填充没有任何影响。我可以向整个工具栏添加填充,但这也会影响菜单项,但我不希望它这样做。
我的实现如下所示:
活动_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:fitsSystemWindows="true">
<android.support.v7.widget.Toolbar
android:id="@+id/main_activity_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
style="@style/MyToolbarStyle"
app:theme="@style/MyToolbarTheme" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
样式.xml:
<resources>
<!-- Base application theme. -->
<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="MyToolbarStyle" parent="Base.Widget.AppCompat.Toolbar">
<item name="android:elevation">4dp</item>
<item name="android:background">@color/colorPrimary</item>
</style>
<style name="MyToolbarTheme" parent="Base.Widget.AppCompat.Toolbar">
<item name="android:textColorPrimary">#ffffff</item>
</style>
Run Code Online (Sandbox Code Playgroud)
理想情况下,如果有人可以解释我哪里出了问题,使我的应用程序标题不垂直居中,那就太好了,但如果没有,有人可以告诉我如何在应用程序标题中添加边距或填充吗工具栏以便我可以尝试自己将其居中?
PS 这不是这个问题的重复- 该问题涉及更复杂的自定义工具栏。我的应该是默认实现。
更新: 根据要求,这是我的 MainActivity.java 文件的代码:
package com.example.samplescanner;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuInflater;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar MainActivityToolbar = (Toolbar) findViewById(R.id.main_activity_toolbar);
setSupportActionBar(MainActivityToolbar);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_items, menu);
return super.onCreateOptionsMenu(menu);
}
}
Run Code Online (Sandbox Code Playgroud)
我无法从 中找到问题的确切来源Base.Widget.AppCompat.Toolbar,但它改变Gravity了Toolbar. 继承自ThemeOverlay.AppCompat.Dark.ActionBar:
<style name="MyTheme.ToolbarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:background">@color/colorPrimary</item>
<item name="android:elevation">4dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
它们ThemeOverlay.AppCompat.ActionBar在您提到的文档中使用,但版本应该为您Dark设置属性。textColorPrimary
| 归档时间: |
|
| 查看次数: |
1306 次 |
| 最近记录: |