Android溢出菜单文本未显示



我想把一个可检查的溢出菜单到我的工具栏。菜单显示复选框,但不显示文本。Android studio按预期渲染菜单,但在我的AVD上没有。我试过改变菜单的文字颜色和使用动作布局。

[![1]][1]

[![菜单实际呈现][2]][2]

menu_main.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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<item
android:id="@+id/tab_1"
android:checkable="true"
android:title="@string/tab_1"
app:showAsAction="never|withText"
android:actionLayout="@layout/action_layout"/>
<item
android:id="@+id/tab_2"
android:checkable="true"
android:title="@string/tab_2"
android:visible="true"
app:showAsAction="never|withText" />
<item
android:id="@+id/tab_3"
android:checkable="true"
android:title="@string/tab_3"
android:visible="true"
app:showAsAction="never|withText" />

</menu>

activity_main.kt


lateinit var sectionsPagerAdapter: SectionsPagerAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
sectionsPagerAdapter = SectionsPagerAdapter(this, supportFragmentManager)
val viewPager: ViewPager = findViewById(R.id.view_pager)
viewPager.adapter = sectionsPagerAdapter
val tabs: TabLayout = findViewById(R.id.tabs)
tabs.setupWithViewPager(viewPager)
val fab: FloatingActionButton = findViewById(R.id.fab)
val toolBar: Toolbar = findViewById(R.id.tool_bar)
setSupportActionBar(toolBar)
toolBar.showOverflowMenu()

var position: Int = 0
class onTabSelectListen : TabLayout.OnTabSelectedListener{
override fun onTabReselected(tab: TabLayout.Tab?) {
if (tab != null) {
position = tab.position
};
}
override fun onTabUnselected(tab: TabLayout.Tab?) {
Log.d("","")
}
override fun onTabSelected(tab: TabLayout.Tab){
position = tab.position;
}
}

tabs.addOnTabSelectedListener(onTabSelectListen())
fab.setOnClickListener { view ->
Snackbar.make(view, "Reloading...", Snackbar.LENGTH_SHORT)
.setAction("Action", null).show()
fab.animate()
.setDuration(500)
.rotationBy(-360f)
reload()
}

}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater.inflate(R.menu.menu_main,menu)
return super.onCreateOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
val itemId = item.itemId
if (item.isChecked) {
//TODO("UNCHECKD LOGIC")
item.isChecked = false //Toggles checkbox state.
} else {
//TODO("CHECKED LOGIC")
item.isChecked = true
}
return super.onOptionsItemSelected(item)
}
fun reload(){
(sectionsPagerAdapter.getItem(sectionsPagerAdapter.GOOGLE_POSITION) as WebFragment).reloadWebView()
(sectionsPagerAdapter.getItem(sectionsPagerAdapter.TWITTER_POSITION) as WebFragment).reloadWebView()
}
}```

[1]: https://i.stack.imgur.com/sEOFd.png
[2]: https://i.stack.imgur.com/Jqjwb.png

尝试在Item中设置以下属性:

android:showAsAction="ifRoom"

代替:

app:showAsAction="never|withText"

将此添加为<toolbar>下的属性

app:popupTheme="@style/Theme.Assignment1.PopupOverlay"

最新更新