我用ActionBarSherlock创建了一个操作栏.我想设置操作栏的样式,这样当我按下menuitem(从溢出中弹出的下拉项目)时,menuitem背景应该会改变颜色.(现在它改为默认的全息蓝色,我希望它是另一种颜色).
经过长时间的googleing和测试,我想到了这个:
themes.xml:
<style name="AppTheme" parent="Holo.Theme">
<item name="android:popupMenuStyle">@style/PopupMenuStyle</item>
<item name="popupMenuStyle">@style/PopupMenuStyle</item>
</style>
<style name="PopupMenuStyle" parent="@style/Widget.Sherlock.PopupMenu">
<item name="android:dropDownSelector">@drawable/menu_selector</item>
</style>
Run Code Online (Sandbox Code Playgroud)
menu_selector.xml:(喜欢abs__list_selector_holo_dark.xml)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:drawable="@android:color/transparent" />
<item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/abs__list_selector_disabled_holo_dark" />
<item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/abs__list_selector_disabled_holo_dark" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@color/AppRed" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@color/AppRed" />
<item android:state_focused="true" android:drawable="@drawable/abs__list_focused_holo" />
<item android:drawable="@color/AppRed" />
</selector>
Run Code Online (Sandbox Code Playgroud)
不幸的是,背景仍然变为蓝色而不是红色.我在这里失踪了什么?
当我正在浏览导航抽屉的示例代码时,我是android的新手我发现他调用了方法invalidateOptionsMenu()所以我搜索了它的功能但是找不到答案所以任何人都可以向我介绍它的功能,我们应该知道用那个.
我创建了一个名为drmenu.xml的新菜单.当我按下菜单按钮时它可以正常工作,但我需要在用户按下按钮时打开上下文菜单.下面的代码按钮只显示吐司.
这是我的xml布局:
<LinearLayout
android:id="@+id/MenuCall"
android:layout_width="90dip"
android:layout_height="match_parent"
android:gravity="right|center_vertical" >
<ImageView
android:id="@+id/MenuCall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/imageiew6" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是我的java代码:
final LinearLayout callback_var = (LinearLayout) findViewById(R.id.MenuCall);
registerForContextMenu(callback_var);
callback_var.setOnClickListener(new android.view.View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "this is repeated", Toast.LENGTH_LONG).show();
openContextMenu(callback_var);
}
Run Code Online (Sandbox Code Playgroud) 嗨,我正在制作一个应用程序,我计划在商场内展示商店的地板和类别明智商品列表.
下面的快照显示了一个显示商店明智地列表的活动

我想在ActionBar中添加一个微调器,显示"by Floor"和"by Category"作为选项.点击"按类别"将根据商店所属的类别来安排商店.谷歌搜索后我找到了一点
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
Run Code Online (Sandbox Code Playgroud)
会很贴切,但现在我看到它被弃用,把它作为活动菜单中的一个动作项目看起来不是一个好主意.有什么建议 ?
在我的应用程序上的选项卡之间滑动时,菜单图标在出现之前会有明显的延迟.如果我单击选项卡而不是滑动,它们会立即更新.我为每个片段都有不同的menu.xml文件,并在每个片段的onCreateOptionsMenu中对它们进行充气.
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.fodmap_menu, menu);
final MenuItem item = menu.findItem(R.id.action_search);
final SearchView searchView = (SearchView) MenuItemCompat.getActionView(item);
searchView.setOnQueryTextListener(this);
}
Run Code Online (Sandbox Code Playgroud)
请注意,单击选项卡时,图标会立即从溢出变为放大镜,但在滑动时会明显延迟.我希望新选项卡居中后立即更新图标.在Pocket Cast的Discover菜单中,即使在滑动动画完成之前,带有不同菜单图标的选项卡似乎也会加载它们.
我需要在选项菜单中显示一个布局。
menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_likes"
android:showAsAction="never"
android:actionLayout="@layout/likes_layout"/>
<item
android:id="@+id/settings"
android:showAsAction="never"
android:title="Settings"
/>
</menu>
Run Code Online (Sandbox Code Playgroud)
shape_notification.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke android:color="#080808" android:width="2dp"/>
<corners android:radius="5dp" />
<solid android:color="#85ea32"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
likes_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="3"
android:id="@+id/likes"
android:linksClickable="false"
android:text="Likes"
android:gravity="center_vertical|center_horizontal"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="5"
android:layout_gravity="center"
android:id="@+id/notif_count"
android:background="@drawable/shape_notification"
android:text="0"
android:textSize="16sp"
android:gravity="center"
android:padding="2dp"
android:singleLine="true"
android:layout_margin="5dp"
android:textColor="#fff"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) { …Run Code Online (Sandbox Code Playgroud) Android应用程序具有以下代码:
public class FooActivity extends AppCompatActivity{
@Override
public boolean onMenuOpened(int featureId, Menu menu) {
}
}
Run Code Online (Sandbox Code Playgroud)
单击3点溢出菜单按钮时,菜单会正常显示,并调用此MenuOpened(int featureId,菜单菜单),但菜单为空.这是正常的吗?
我有两种不同的菜单布局.我想在单击按钮时更改运行时的膨胀菜单.
最初菜单设置为@menu/navigation.我希望它更改@menu/navigation2为单击按钮时.
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="th.ac.sd.sdschoolas.MainActivity">
<FrameLayout
android:id="@+id/content_main"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<WebView
android:id="@+id/web_main"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<ImageView
android:id="@+id/imageView"
android:layout_width="152dp"
android:layout_height="158dp"
android:layout_x="23dp"
android:layout_y="46dp"
app:srcCompat="@mipmap/logo"
android:padding="20dp"/>
</FrameLayout>
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="?android:attr/windowBackground"
app:menu="@menu/navigation" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
菜单/ navigation.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/nav1"
android:icon="@mipmap/homeicon"
android:title="@string/title_home" />
<item
android:id="@+id/nav2"
android:icon="@mipmap/newsicon01"
android:title="@string/title_news" />
<item
android:id="@+id/nav3"
android:icon="@drawable/ic_calendar_page_empty"
android:title="@string/title_cal" />
<item
android:id="@+id/nav4"
android:icon="@drawable/ic_chat_bubbles"
android:title="@string/title_sms" />
<item
android:id="@+id/nav5"
android:icon="@mipmap/more"
android:title="@string/title_more" />
</menu>
Run Code Online (Sandbox Code Playgroud)
菜单/ …
我开始研究Android底部导航视图.但我面临一个问题.如果我向底部导航视图添加了5个项目,则只显示项目文本的选定项目.如果我添加3项,它工作正常.请告诉我如何显示所有5个项目的项目文本.先感谢您.
menu.xml文件:
<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="com.reloadapp.reload.activity.IconTabsActivity">
<item
android:id="@+id/action_favorites"
android:enabled="true"
android:icon="@drawable/home_40"
android:title="Home"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_schedules"
android:enabled="true"
android:icon="@drawable/profile_40"
android:title="Profile"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_music"
android:enabled="true"
android:icon="@drawable/reload_40"
android:title="Reload cash"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_musi"
android:enabled="true"
android:icon="@drawable/notifications"
android:title="Notifications"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_mus"
android:enabled="true"
android:icon="@drawable/menu_40"
android:title="More"
app:showAsAction="ifRoom" />
</menu>
Run Code Online (Sandbox Code Playgroud)
依赖:编译'com.android.support:appcompat-v7:25.0.1'compile'com.android.support:design:25.0.0'
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:itemBackground="@color/textColorPrimary"
app:menu="@menu/menu_icon_tabs"
app:itemIconTint="@color/colorPrimary"
app:itemTextColor="@color/colorPrimary"
android:layout_alignParentBottom="true">
</android.support.design.widget.BottomNavigationView>
Run Code Online (Sandbox Code Playgroud) android android-menu android-support-library android-bottom-nav-view