我已经停止在Eclipse中编程Android,我开始在Android Studio中开发。我在Eclipse中有一个带有de following navigation抽头的应用程序:
菜单项有一个数字,表示里面有多少项。我在Eclipse中通过listview适配器执行此操作,但在Android Studio中我有一个menu.xml,它具有项目信息。
<item
android:id="@+id/nav_manage"
android:icon="@drawable/ic_menu_manage"
android:title="Resolución OS" />
我如何设置数字以及如何从Java代码更新它?
感谢和抱歉我的英语,这是非常非常糟糕的。
答案 0 :(得分:0)
定义DrawerLayout时,它的工作方式如下
<android.support.v4.widget.DrawerLayout
android:id="@+id/root"
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:layout_width="match_parent"
android:layout_height="match_parent">
<!-- VIEWGROUP FOR MAIN CONTENT -->
<!-- this is what you see by default -->
<!-- VIEWGROUP FOR LEFT DRAWER -->
<!-- set Layout_Gravity as START (or LEFT) -->
<!-- VIEWGROUP FOR RIGHT DRAWER -->
<!-- set Layout_Gravity as END (or RIGHT) -->
</android.support.v4.widget.DrawerLayout>
因此,如果您将视图组设置为包含该窗体中的元素的左侧抽屉,那么它看起来就像那样。基本上,您需要一个回收站视图,或者只需手动指定它们(或创建自己的自定义视图组)。
<RelativeLayout android:id="@+id/left_drawer_clickable_item"
android:layout_width="match_parent"
android:layout_height="24dp">
<LinearLayout android:id="@+id/left_drawer_icon_holder"
android:layout_width="24dp"
android:layout_height="24dp"
android:orientation="vertical"
android:layout_alignParentLeft="true">
<ImageView android:id="@+id/left_drawer_icon"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/icon"/>
</LinearLayout>
<TextView android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/left_drawer_number"
android:layout_alignParentRight="true"/>
<TextView android:id="@+id/left_drawer_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_toLeftOf="@+id/left_drawer_number"
android:layout_toRightOf="@+id/left_drawer_icon"/>
</RelativeLayout>
如果您在RecyclerView中将其用作View Holder的视图参数,则可以相应地对其进行参数化(除非您确实希望在NavigationView中使用Design Support Library)。
答案 1 :(得分:0)
创建计数器布局,即 menu_counter.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" />
在抽屉菜单xml中引用它,即menu/drawer.xml:
<item
...
app:actionLayout="@layout/menu_counter" />
请记住使用 app 而不是 android 命名空间。
答案 2 :(得分:0)
尝试使用liatview或recycler视图创建左抽屉。编写自定义适配器,您可以在其中轻松更新所需内容。您只需通过适配器更改传递给listview或recycleler视图的数据,并查看它是否已更新。