Android - 在工具栏中显示文件路径
Android - Display file path in Toolbar
我正在寻找一种在工具栏中显示文件路径的方法,如下所示:
它需要是可点击的,如果是很长的路径,则应该是可滑动的。 (或小型设备)。
我考虑过将 HorizontalScrollView
与 TextView
和 ImageView
一起使用,但不知道这是否是实现此目的的最佳方法。有没有更好(更简单)的方法来做到这一点?谢谢!
编辑:
感谢@aelimill,我发现 RecyclerView
可以水平移动,但我仍然遇到一些问题。如果您单击上一个屏幕截图中的文本,它会显示:
但对我来说(我将自定义列表项设置为可点击后)是这样的:
(看点击动画)
如何像显示其他 ActionBar
项一样显示圆形动画?
我按照@aelimill 的建议使用RecyclerView
解决了这个问题。这是我使用的自定义列表项:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:id="@+id/relativeLayout">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/imageButton"
android:src="@drawable/ic_keyboard_arrow_right_white_24dp"
android:background="@null"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignTop="@+id/textView"
android:layout_alignBottom="@+id/textView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/textView"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:focusable="true"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/imageButton"
android:layout_toEndOf="@+id/imageButton"
android:gravity="center"
android:textSize="16sp"
android:minWidth="20dp"
android:textColor="#ffffff"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
Use selectableItemBackground
instead of selectableItemBackgroundBorderless
to support pre lollipop devices. (It wont be a circle animation, but a rectangle animation).
我正在寻找一种在工具栏中显示文件路径的方法,如下所示:
它需要是可点击的,如果是很长的路径,则应该是可滑动的。 (或小型设备)。
我考虑过将 HorizontalScrollView
与 TextView
和 ImageView
一起使用,但不知道这是否是实现此目的的最佳方法。有没有更好(更简单)的方法来做到这一点?谢谢!
编辑:
感谢@aelimill,我发现 RecyclerView
可以水平移动,但我仍然遇到一些问题。如果您单击上一个屏幕截图中的文本,它会显示:
但对我来说(我将自定义列表项设置为可点击后)是这样的:
(看点击动画)
如何像显示其他 ActionBar
项一样显示圆形动画?
我按照@aelimill 的建议使用RecyclerView
解决了这个问题。这是我使用的自定义列表项:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:id="@+id/relativeLayout">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/imageButton"
android:src="@drawable/ic_keyboard_arrow_right_white_24dp"
android:background="@null"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignTop="@+id/textView"
android:layout_alignBottom="@+id/textView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/textView"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:focusable="true"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/imageButton"
android:layout_toEndOf="@+id/imageButton"
android:gravity="center"
android:textSize="16sp"
android:minWidth="20dp"
android:textColor="#ffffff"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
Use
selectableItemBackground
instead ofselectableItemBackgroundBorderless
to support pre lollipop devices. (It wont be a circle animation, but a rectangle animation).