我有一个工具栏,我想在xml的布局中添加ImageView
。我希望它对齐,而不是默认左对齐。
应用程序可能会向工具栏添加任意子视图。它们将出现在布局中的这个位置。如果子视图的Toolbar.LayoutParams指示CENTER_HORIZONTAL的重力值,则在测量完所有其他元素后,视图将尝试以工具栏中剩余的可用空间为中心。
但我不能在任何事情上设定引力。
<android.support.v7.widget.Toolbar
style="@style/ToolbarStyle"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize">
<ImageView
android:id="@+id/bluetoothState"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_bluetooth_status_white"
android:contentDescription="@string/content_description_bluetooth_status"
android:padding="8dp"/>
</android.support.v7.widget.Toolbar>
答案 0 :(得分:37)
android:layout_gravity="right"
就是答案。哪个问题链接的文档甚至暗示。 (它提到了引力,但没有提到所需的特定xml属性方式)
无论如何,问题是Android Studio并没有真正建议自定义视图的属性。这包括android.support.v7.widget.Toolbar
。 Design 选项卡不会将layout_gravity列为属性,如果您在文本选项卡上键入它,它将不会自动完成它。
以下完整示例代码..
<android.support.v7.widget.Toolbar
style="@style/ToolbarStyle"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize">
<ImageView
android:id="@+id/bluetoothState"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_bluetooth_status_white"
android:contentDescription="@string/content_description_bluetooth_status"
android:padding="8dp"
android:layout_gravity="right"/>
</android.support.v7.widget.Toolbar>