在Android中为视图留下一个边距

时间:2018-03-24 14:01:47

标签: android

我已经定义了一个如下所示的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/something"
        android:text="Test"
        android:textSize="25dp"/>

    <ToggleButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/something"
        android:layout_marginLeft="60dp"/>

</RelativeLayout>

基本上我想要左边的一些文字和右边的按钮,但是如果我将android:文本从“测试”改为其他东西,例如“测试.........”,那么按钮在屏幕上发生变化。

如何将此按钮的位置设置为屏幕右上角的静态边距?请帮忙。

2 个答案:

答案 0 :(得分:2)

试试这样。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/something"
        android:text="Test"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:layout_toLeftOf="@+id/toggle"
        android:textSize="25sp"/>

    <ToggleButton
        android:id="@+id/toggle"
        android:layout_width="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_height="wrap_content"
        android:layout_marginRight="10dp"
        />
</RelativeLayout>

使用sp表示TextSize,dp表示视图大小。

答案 1 :(得分:0)

您可以尝试以下操作:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="100">

<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:id="@+id/something"
    android:text="Test"
    android:layout_weight="95"
    android:textSize="25dp"/>

<ToggleButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/tb"
    android:layout_weight="5"
    android:layout_marginRight="60dp"/>

</LinearLayout>

// other stuff

</RelativeLayout>