我一直在搜索互联网(例如Android文档,这里的答案等),以获得我认为是一个相当微不足道的问题的答案.您如何实现像Google音乐和YouTube中的半透明操作栏(链接是图像示例)?
我希望视频内容是全屏的,不受操作栏的约束/推送,同时仍然利用内置UI组件的优势.我显然可以使用完全自定义的视图,但如果可能的话,我宁愿利用ActionBar.
表现
<activity
android:name="videoplayer"
android:theme="@android:style/Theme.Holo"
android:launchMode="singleTop"
android:configChanges="keyboardHidden|orientation"/>
Run Code Online (Sandbox Code Playgroud)
活动
// Setup action bar
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
View customActionBarView = getLayoutInflater().inflate(R.layout.player_custom_action_bar, null);
actionBar.setCustomView(customActionBarView,
new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT,
R.dimen.action_bar_height));
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
Run Code Online (Sandbox Code Playgroud)
菜单
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/button1"
android:icon="@drawable/button1"
android:showAsAction="always"/>
<item
android:id="@+id/button2"
android:icon="@drawable/button2"
android:showAsAction="always"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
自定义ActionBar视图
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/custom_action_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:background="@color/TranslucentBlack">
<!--Home icon with arrow-->
<ImageView
android:id="@+id/home"
android:src="@drawable/home"
android:layout_width="wrap_content"
android:layout_height="match_parent"/>
<!--Another image-->
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:visibility="visible"/>
<!--Text if no image-->
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:visibility="gone"/>
<!--Title--> …Run Code Online (Sandbox Code Playgroud) android android-3.0-honeycomb android-4.0-ice-cream-sandwich android-actionbar android-5.0-lollipop
我想最大限度地使用屏幕为Honeycomb应用程序.由于屏幕底部已经卡在"永远在线"的项目上,我想在那个空间中添加一个菜单按钮,而不是牺牲更多的屏幕空间,在顶部放置一个"操作栏".如何在不降级到API 10或更低的情况下完成此操作?(尽管我不需要占用更多空间的操作栏,但我也不需要一个调整大小按钮来使我的应用程序完全没用,并且除了转到最新的API版本之外无法禁用. )
当然,人们可以有效地使用数百个像素,这些像素目前处于黑暗状态,浪费在Honeycomb屏幕的底部,背面/家庭/物品图标和永远存在的时钟之间?为了在角落里放置一个设置按钮,创建一个动作栏将是一个荒谬的浪费.
编辑:我看到其他人问了一些类似的问题,但总的来说,我们如何通过添加按钮或者你在那里的东西来利用底部浪费的空间呢?如果我必须从头开始创建我自己的菜单按钮,我会觉得这个空间不可用(如果这是真的那将是非常荒谬的).
编辑2:显然它是真的:"系统栏"确实是不可侵犯的,并且主要用于向用户呈现未占用的空间(特别是在横向模式下).看起来我可能不得不恢复到旧的SDK - 只要没有人使用缩放图标就应该没问题.
编辑3:我很高兴地通过API 10报告菜单按钮返回并且无用的缩放按钮是GONE(在支持屏幕中使用android:xlargeScreens ="true"似乎在此API中工作!)
我有一个有很多活动的应用程序.我在清单中设置了这个:
<uses-sdk android:minSdkVersion="4" targetSdkVersion="11"/>
Run Code Online (Sandbox Code Playgroud)
我还设置了v11风格,以便活动将全部使用v11 +上的Holo主题.
问题是我的所有活动都在系统栏上显示遗留菜单按钮.我的菜单(我在其中使用onCreateOptionsMenu)的活动同时显示了旧菜单按钮和操作栏溢出菜单按钮.按传统按钮可展开屏幕右上角的菜单.
在我不使用onCreateOptionsMenu的活动中,仍有一个遗留按钮不执行任何操作.
我无法弄清楚发生了什么.Hackborn写道,targetSdkVersion是控制是否显示遗留按钮的唯一因素:链接
编辑:澄清问题的描述.