我正在使用,android.support.design.bottomappbar.BottomAppBar但是添加选项菜单时导航图标位于左上角。
不带Option的情况下,其工作正常(center_vertical)。
带有选项菜单
没有选项菜单
谁能告诉我如何解决它?
android android-layout android-appbarlayout android-bottomnav bottombar
我正在实现底部导航菜单。但未选择菜单中的第一项。我注意到,当我更改栏背景的颜色时,它会显示出来,原因是第一个项目“启用”颜色与导航栏的背景颜色相同。如何更改已启用选项卡以及其余项目的颜色。默认情况下它们是黑色的......假设我想将它们更改为白色。感谢主要活动的图片。http://pctechtips.org/apps/activity.png 菜单 xml 文件
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/navigation_home"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/title_home" />
<item
android:id="@+id/navigation_dashboard"
android:icon="@drawable/ic_dashboard_black_24dp"
android:title="@string/title_dashboard" />
<item
android:id="@+id/navigation_notifications"
android:icon="@drawable/ic_notifications_black_24dp"
android:title="@string/title_notifications" />
</menu>
Run Code Online (Sandbox Code Playgroud)
活动主文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<org.techgeorge.textrecon.PaintView
android:id="@+id/paintView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_alignParentBottom="true"
android:background="@color/colorPrimary"
app:menu="@menu/bottom_nav_menu" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) android bottomnavigationview android-bottomnav material-components material-components-android
我想在某些片段中隐藏 bottomNavigationView。
我试过下面的代码,但它有闪烁的效果。(bottomNavigationView 在 nextFragment 变得可见之前隐藏。
val navController = this.findNavController(R.id.nav_host_home)
navController.addOnDestinationChangedListener { _, destination, _ ->
when (destination.id) {
R.id.searchArticlesFragment -> bnvMain.visibility = View.GONE
R.id.articleFragment -> bnvMain.visibility = View.GONE
else -> bnvMain.visibility = View.VISIBLE
}
}
Run Code Online (Sandbox Code Playgroud)
我也试过另一个代码。但它会调整片段的大小。并在目标片段中给出 OutOfMemoryException。
supportFragmentManager.registerFragmentLifecycleCallbacks(object :
FragmentManager.FragmentLifecycleCallbacks() {
override fun onFragmentViewCreated(
fm: FragmentManager,
f: Fragment,
v: View,
savedInstanceState: Bundle?
) {
when (f) {
is SearchArticlesFragment -> bnvMain.visibility = View.GONE
is ArticleDetailsFragment -> bnvMain.visibility = View.GONE
else -> bnvMain.visibility = View.VISIBLE
}
}
}, true)
Run Code Online (Sandbox Code Playgroud)
请帮助我如何以正确和最好的方式隐藏底部导航视图?这是我可以隐藏底部导航视图的唯一方法吗?youtube …
android android-fragments kotlin android-navigation android-bottomnav
我正在尝试为底部导航添加圆角,并且我尝试更改宽度和高度但它不起作用。我正在使用相对布局,宽度设置为“fill_parent”,高度设置为“warp_content”我有两个图标登录和注册,我希望整个导航都有圆角。我正在使用 Material Design 底部导航:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/botttom_navigation"
app:itemBackground="@android:color/darker_gray"
app:itemTextColor="@drawable/selector"
app:itemIconTint="@drawable/selector"
android:layout_alignParentBottom="true"
app:menu="@menu/menu_navigation"/>
Run Code Online (Sandbox Code Playgroud)
这是它的样子
android bottomnavigationview android-bottomnav material-components-android android-bottomnavigationview
我使用底部导航视图与hide_bottom_view_on_scroll_behavior. 当用户从第一个片段列表中选择项目时,应用程序将转到详细片段。我想显示底部导航视图,如果它隐藏在该(详细)片段中。
主要活动 xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
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:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:actionBarNavMode="standard"
tools:context=".MainActivity">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay"
app:elevation="0dp">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<!--app:layout_scrollFlags="scroll|exitUntilCollapsed"-->
<!--app:layout_scrollFlags="scroll|enterAlways|snap"-->
<ImageView
android:id="@+id/expandedImage"
android:layout_width="match_parent"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:src="@drawable/hrt1"
android:visibility="gone"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.7" />
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways|snap" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<com.aero51.moviedatabase.ui.CustomViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:isScrollContainer="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/colorPrimary"
app:itemBackground="@color/colorPrimary"
app:itemIconTint="@drawable/bottom_navigation_color_selector"
app:itemTextColor="@drawable/bottom_navigation_color_selector"
app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
app:menu="@menu/menu_bottom_navigation" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
我在详细信息片段中尝试使用以下代码,onCreateView但它不起作用:
bottomNavigationView = (BottomNavigationView) getActivity().findViewById(R.id.bottom_navigation); …Run Code Online (Sandbox Code Playgroud) android android-animation android-layout android-fragments android-bottomnav
我试图实现 jetpack compose 底部导航栏。但我遇到了这个问题。每当标签没有足够的空间时,它就会与图标重叠。我错过了什么吗?有没有自动截断或缩小文本之类的解决方案?
compose_version = '1.0.0-beta09'
我的代码
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val navController = rememberNavController()
val items = listOf(
Screen.Profile,
Screen.FriendsList,
Screen.Notification,
Screen.Setting
)
Scaffold(
bottomBar = {
BottomNavigation(
backgroundColor = MaterialTheme.colors.surface,
elevation = 8.dp
) {
val navBackStackEntry by navController.currentBackStackEntryAsState()
val currentRoute = navBackStackEntry?.destination?.route
items.forEachIndexed { index, screen ->
BottomNavigationItem(
icon = {
when (index) {
0 -> Icon(Icons.Filled.Person, "Profile")
1 -> Icon(
painterResource(id = R.drawable.ic_friends),
"Friends"
)
2 -> Icon(Icons.Filled.Notifications, "Notification")
else -> …Run Code Online (Sandbox Code Playgroud) android android-bottomnav android-jetpack-compose jetpack-compose-navigation
我正在使用android支持设计小部件BottomNavigationView来制作我的底部导航项。这是工作的结果:

它有2个问题,第一个问题是没有在项目下显示标题,第二个问题是我要填充项目,我不想在导航上有可用空间,我只想让它们填充空间并在项目之间划分空间。
这是我的菜单代码:
<?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">
<item
android:id="@+id/action_item1"
android:icon="@drawable/phone"
app:showAsAction="ifRoom"
android:title="??????" />
<item
android:id="@+id/action_item2"
android:icon="@mipmap/ic_history"
app:showAsAction="ifRoom"
android:title="????? ????" />
<item
android:id="@+id/action_item3"
android:icon="@drawable/sabad"
app:showAsAction="ifRoom"
android:title="??? ????" />
<item
android:id="@+id/action_item4"
android:icon="@drawable/market2"
app:showAsAction="ifRoom"
android:title="???????" />
</menu>
Run Code Online (Sandbox Code Playgroud)
这是xml代码:
` <RelativeLayout
android:id="@+id/activity_main"
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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.truiton.bottomnavigation.MainActivity">
<FrameLayout
android:id="@+id/frame_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/navigation"
android:animateLayoutChanges="true">
</FrameLayout>
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/colorPrimary"
app:itemIconTint="#fff"
app:itemTextColor="#F2F2F4"
app:menu="@menu/bottom_navigation_items"/>
</RelativeLayout>`
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
android android-support-library android-support-design android-bottomnav
当使用设计库'com.android.support:design:28.0.0'BottomNavigationView 错误地显示带有长文本的项目标题时:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"
tools:context=".mvp.ui.activities.MainActivity">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="0dp"
android:layout_marginBottom="56dp"
android:layout_above="@+id/navigation"
android:id="@+id/fragmentContent" />
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginStart="0dp"
app:labelVisibilityMode="labeled"
app:itemHorizontalTranslationEnabled="false"
android:background="?android:attr/windowBackground"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:menu="@menu/navigation" />
</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
它看起来很奇怪,因为使用设计库时完全相同的代码com.android.support:design:27.1.1会生成很好的结果:
这怎么可能?对于我尝试使用的新版本的库labelVisibilityMode,但这没有帮助。
app:showAsAction="always"也不行。有任何想法吗?
android navigationbar bottomnavigationview android-bottomnav
我有一个 BottomNavigationView 并且想要为选定和未选定状态使用自定义图标。尝试使用选择器但它不起作用。
知道如何放置自定义图标吗?
编辑- 将评论中的代码添加到问题中
<item
android:id="@+id/navigation_card"
android:icon="@drawable/iv_home_card"
app:itemBackground="@drawable/navigation_card"
app:showAsAction="ifRoom" tools:ignore="MenuTitle"
/>
Run Code Online (Sandbox Code Playgroud)
像这样我添加了图标。现在对于选定状态,它用主题颜色描边,但我想用另一个图标替换图标。
我尝试制作选择器但没有用
<selector
xmlns:android="schemas.android.com/apk/res/android">
<item android:state_checked="false"
android:drawable="@drawable/btn_star_off_normal" />
<item android:state_checked="true"
android:drawable="@drawable/btn_star_on_normal" />
</selector>
Run Code Online (Sandbox Code Playgroud)
BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) { }
return false;
}
};
Run Code Online (Sandbox Code Playgroud) android android-layout bottomnavigationview android-bottomnav
我浏览了许多帖子,但没有找到任何可以帮助我理解 LeakCanary 报告泄漏的原因。我有一个带有 a 的主要活动,com.google.android.material.bottomappbar.BottomAppBar它显示了 a BottomSheetDialogFragment。当您在底部工作表中选择一个项目时,它会更新一些文本,然后关闭对话框片段。现在使用 LeakCanary 运行它会在出现对话框并选择一个项目时显示泄漏。
泄漏看起来像:
====================================
HEAP ANALYSIS RESULT
====================================
1 APPLICATION LEAKS
References underlined with "~~~" are likely causes.
Learn more at https://squ.re/leaks.
152090 bytes retained by leaking objects
Signature: 3841703253a9bf9893936b1dd318c9dd54bf5a8
????
? GC Root: System class
?
?? android.app.ActivityThread class
? Leaking: NO (MainActivity? is not leaking and a class is never leaking)
? ? static ActivityThread.sCurrentActivityThread
?? android.app.ActivityThread instance
? Leaking: NO (MainActivity? is not leaking)
? ? ActivityThread.mActivities …Run Code Online (Sandbox Code Playgroud) android ×9
material-components-android ×2
android-bottomnavigationview ×1
bottombar ×1
kotlin ×1
leakcanary ×1
memory-leaks ×1