我在Android应用程序中实现工具栏时遇到了问题。我真的有几个问题。
首先,我的 MainActivity.java :
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar_Main);
toolbar.setLogo(R.drawable.logo);
toolbar.setTitle(R.string.app_name);
toolbar.inflateMenu(R.menu.main_actions);
setActionBar(toolbar);
}
}
activity_main.xml中:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity"
android:nestedScrollingEnabled="false">
<Toolbar
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:id="@+id/toolbar_Main"
android:background="?android:attr/colorPrimary" />
<!-- There's an EditText here, but I think that's not the problem -->
</LinearLayout>
styles.xml :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="android:Theme.Material.Light">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:colorPrimary">@color/primaryColor</item>
<item name="android:colorPrimaryDark">@color/primaryColorDark</item>
</style>
</resources>
我遇到的问题是:
现在我可以通过移除setActionBar
部分来解决第一个问题(虽然不确定这是不是很好),但第二个问题不是那么多。无论我尝试什么,徽标和文字都保持居中。我尝试将工具栏的重力设置为top|left
,以及其他一些事情,但都无济于事。
在Google(或StackOverflow)上进行搜索时,我得到的结果是要求将文本居中,这是我 想要的。
我还应该提到我只为API级别21开发应用程序,所以没有AppCompat和所有那些花哨的东西,只是我希望用作应用程序的主要ActionBar的工具栏。 / p>
我可能只是错过了一些小事,所以提前谢谢。
答案 0 :(得分:0)
对我来说:
setActionBar()
电话; inflateMenu()
行,并像往常一样在onCreateOptionsMenu()
期间对菜单进行充气; 标题和徽标问题以及菜单消失可能是由于:
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
为什么这些线?如果您不需要,请将其删除。
如果无法解决此问题,请先尝试拨打setActionBar(toolbar)
,然后然后使用getActionBar().setTitle()
设置标题。但是,我非常确定从你的风格中删除两个窗口就足够了,所以首先要这样做。