【问题标题】:how to align view to left and right properly in android layout with gravity or layout gravity如何在具有重力或布局重力的android布局中正确地将视图左右对齐
【发布时间】:2018-03-18 15:56:01
【问题描述】:

我正在使用以下布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="2dp"
    android:layout_marginTop="10dp"
    android:background="@drawable/cardview_shadow"
    android:elevation="2dp"
    android:gravity="center_vertical"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="2dp"
        android:gravity="fill_horizontal"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/ic_find_previous_holo_dark"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="left"
            android:src="@drawable/ic_find_previous_holo_dark" />

        <ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/view_flipper"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/emoji_u1f33c" />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/emoji_u1f33c" />
        </ViewFlipper>

        <ImageView
            android:id="@+id/ic_find_next_holo_dark"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="right"
            android:src="@drawable/ic_find_next_holo_dark" />
    </LinearLayout>

</LinearLayout>

我希望向左箭头和向右箭头向右和中心布局以填充中心间隙,但不提供 dp、px 等的确切宽度,但我无法实现此布局。我大部分时间都需要这种布局

【问题讨论】:

  • 为什么你不想使用布局重力??
  • 我应该在哪里使用布局重力?
  • 到第二个linearLayout使用android:gravity="left|center_vertical"
  • android:layout_weight =1 提供给 viewflipper 并尝试是否可以解决问题。
  • 感谢大家的努力,sunil Sunny,您的代码工作正常:D

标签: android layout android-linearlayout gravity


【解决方案1】:

在您的情况下,您需要将 android:layout_weight=1 提供给您的 ViewFlipper,以便它可以占用其他 2 个图像视图留下的剩余空间(将两个视图推到两侧,因为 ViewFlipper 是中间视图)。这里给出了更好的解释https://developer.android.com/guide/topics/ui/layout/linear.html检查布局权重部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    • 2011-01-07
    • 2014-10-24
    • 2011-02-17
    • 2017-10-27
    相关资源
    最近更新 更多