Android 底部导航视图在图标一侧显示文本
Android bottom navigation view show text on the side of the icon
我想在像 City Mapper 这样的图标右侧显示底栏文本。我目前已经使用 Android 默认组件
实现了我的第一个版本
有人问过这个问题here,但没有找到解决方案,而且已经评论说不可能。如果 City Mapper 正在这样做,那么它应该是可能的。我该怎么做?
如何处理
我认为通过创建您自己的视图或片段可以更容易地处理这个问题。例如,您可以创建一个片段,并在这个片段的布局中显示您想要的图标和文本。它会给你更多的权力来定制它。
其他人在用什么
我们不知道“City matter”使用什么方式提供这个底栏,也许他们已经实现了他们自己的自定义视图。
这是一个简单的 activity 示例,您可以根据需要使用底栏:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#BFBFBF"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:background="#FFF"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@android:drawable/ic_menu_search" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Search" />
</LinearLayout>
<View
android:layout_width="1dp"
android:background="#ACACAC"
android:layout_marginVertical="5dp"
android:layout_height="match_parent"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@android:drawable/ic_menu_search" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Search" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
希望对您有所帮助!
我想在像 City Mapper 这样的图标右侧显示底栏文本。我目前已经使用 Android 默认组件
实现了我的第一个版本有人问过这个问题here,但没有找到解决方案,而且已经评论说不可能。如果 City Mapper 正在这样做,那么它应该是可能的。我该怎么做?
如何处理
我认为通过创建您自己的视图或片段可以更容易地处理这个问题。例如,您可以创建一个片段,并在这个片段的布局中显示您想要的图标和文本。它会给你更多的权力来定制它。
其他人在用什么
我们不知道“City matter”使用什么方式提供这个底栏,也许他们已经实现了他们自己的自定义视图。
这是一个简单的 activity 示例,您可以根据需要使用底栏:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#BFBFBF"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:background="#FFF"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@android:drawable/ic_menu_search" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Search" />
</LinearLayout>
<View
android:layout_width="1dp"
android:background="#ACACAC"
android:layout_marginVertical="5dp"
android:layout_height="match_parent"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@android:drawable/ic_menu_search" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Search" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
希望对您有所帮助!