我试图在TextView
的两边对齐一对EditText
s在一条线上。一些警告:
TextView
右侧的EditText
,我想确保没有大量的空间TextViews
可能存在或不存在,具体取决于客户设置,但需要在运行时确定。因此,如果我将TextViews
中的一个或两个的可见性设置为NONE,则字段需要移位。TextView
)大小不等,最多10个字符,但我希望自动填充所需的空间。这是我想看到的:
但这是我到目前为止所拥有的:
正如你所看到的那样,前缀和后缀($和US)合并在一起,而不是在EditText
的每一侧分裂。我在所有相关领域都使用过android:layout_height
和android:layout_width
而没有达到预期的效果。我尝试了TableLayout
,但是因为如果右边没有EditText
(在这种情况下是后缀或“美国”)我有要求将TextView
值改为正确,我认为这不会起作用(除非我失踪)那里的东西)所以我已经降落了以下,我认为它正在接近,它代表了上面的当前屏幕截图:
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true">
<TextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:textStyle="normal"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:text="Test" />
<RelativeLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:focusable="true"
android:focusableInTouchMode="true">
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="$" />
<EditText
android:id="@+id/entry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:text="12456"/>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="US" />
</RelativeLayout>
<View
android:layout_marginTop="8dp"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray"
android:visibility="gone" />
</LinearLayout>
这就是你需要的:)
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true">
<TextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:textStyle="normal"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:text="Test" />
<RelativeLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:focusable="true"
android:layout_marginRight="10dp"
android:focusableInTouchMode="true">
<TextView
android:layout_toLeftOf="@+id/entry"
android:id="@+id/symbol"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:layout_centerVertical="true"
android:text="$" />
<EditText
android:layout_toLeftOf="@+id/currency"
android:layout_centerVertical="true"
android:id="@+id/entry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:text="12456"/>
<TextView
android:id="@+id/currency"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:textStyle="bold"
android:layout_height="wrap_content"
android:text="US" />
</RelativeLayout>
<View
android:layout_marginTop="8dp"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray"
android:visibility="gone" />
</LinearLayout>
您应该使用更改为LinearLayout并使用android:layout_weight
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:focusable="true"
android:focusableInTouchMode="true">
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="XXdp"
android:text="$" />
<EditText
android:id="@+id/entry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="XXdp"
android:inputType="number"
android:text="12456"/>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="XXdp"
android:text="US" />
</LinearLayout>
看到这个https://developer.android.com/guide/topics/ui/layout/linear.html