繁体   English   中英

如何在相对布局中设置文本视图的页边距

[英]How to set Margin of a textview in a relative layout

我已经阅读了一些有关在父级为LinearLayout时以编程方式设置textview的边距的答案,但就我而言,我需要在相对布局中设置textview的边距

这是我尝试但没有奏效的方法:

描述是我在以下代码中的textview:

RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
        params1.addRule(RelativeLayout.RIGHT_OF, idsArray[i]);
        params1.addRule(RelativeLayout.LEFT_OF, R.id.imageButtonCamera);
        params1.addRule(RelativeLayout.BELOW, R.id.divider);
        params1.setMargins(8, 8, 8, 8)

        description.setLayoutParams(params1);

有什么提示吗?

UDPATE:

我的布局xml文件:

ID为textViewTip的TextView是我需要更改相对和边距属性的那个。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/item_layout_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/layer_car_background" >

<TextView
    android:id="@+id/textViewItemTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="12dp"
    android:layout_marginLeft="8dp"
    android:layout_marginBottom="12dp"
    android:text="Large Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />

 <ImageView
    android:id="@+id/imageViewTitle"
    android:layout_width="32dp"
    android:layout_height="32dp"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@+id/textViewItemTitle"
    android:src="@drawable/ic_action_expand" />

<RelativeLayout
    android:id="@+id/relativeLayoutExpandable"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginBottom="16dp"
    android:animateLayoutChanges="true"
    android:layout_below="@+id/textViewItemTitle" >

    <View
        android:id="@+id/divider"
        android:layout_alignParentTop="true"
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:background="@android:color/darker_gray" />

    <ImageView
        android:layout_below="@id/divider"
        android:id="@+id/imageViewItem"
        android:layout_width="100dp"
        android:layout_height="133dp"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textViewTip"
        android:textSize="12sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/imageViewItem"
        android:layout_alignTop="@+id/imageViewItem"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="22dp"
        android:layout_marginBottom="22dp"
        android:layout_toLeftOf="@+id/imageButtonCamera"
        android:layout_toRightOf="@+id/imageViewItem"
        android:text="TextView" />

    <EditText
        android:id="@+id/editTextDescription"
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@id/textViewTip"
        android:layout_marginTop="8dp"
        android:ems="10"
        android:hint="@string/enter_own_description"
        android:inputType="textMultiLine" >

        <requestFocus />
    </EditText>

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="32dp"
        android:layout_height="32dp"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/imageView1"
        android:layout_marginRight="12dp"
        android:src="@drawable/ic_ok" />

    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/imageView2"
        android:layout_below="@+id/imageView2"
        android:layout_marginTop="8dp" />

    <CheckBox
        android:id="@+id/checkBox2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/checkBox1"
        android:layout_alignBottom="@+id/checkBox1"
        android:layout_alignRight="@+id/imageView1" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="32dp"
        android:layout_height="32dp"
        android:layout_below="@+id/editTextDescription"
        android:layout_marginRight="17dp"
        android:layout_toLeftOf="@+id/imageView2"
        android:src="@drawable/ic_repair" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/checkBox2"
        android:layout_alignBottom="@+id/checkBox2"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="8dp"
        android:text="@string/estimated_cost"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/editTextEstCost"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/checkBox1"
        android:layout_toLeftOf="@+id/checkBox2"
        android:layout_toRightOf="@+id/textView1"
        android:layout_marginRight="24dp"
        android:ems="10"
        android:inputType="numberDecimal" />

    <ImageButton
        android:id="@+id/imageButtonCamera"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/textViewTip"
        android:background="@android:color/transparent"
        android:src="@drawable/ic_action_camera" />

</RelativeLayout>

RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,  RelativeLayout.LayoutParams.WRAP_CONTENT);

    params1.setMargins(8, 8, 8, 8);

    description.setLayoutParams(params1);

尝试这个。 因为它现在正在工作,并将提供利润。

看我更新的ans。 从xml的边距布局运行良好,您可以从xml设置边距。

   <TextView
    android:id="@+id/textViewTip"
    android:textSize="12sp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/imageViewItem"
    android:layout_alignTop="@+id/imageViewItem"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="20dp"
    android:layout_marginTop="22dp"
    android:layout_marginBottom="22dp"
    android:layout_toLeftOf="@+id/imageButtonCamera"
    android:layout_toRightOf="@+id/imageViewItem"
    android:text="Changable" />

它正在工作,如果您要以编程方式更改边距,请使用以下代码。

    LayoutParams p=new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
    TextView tv=(TextView)findViewById(R.id.textViewTip);

    p.setMargins(30, 30, 30, 30);
    tv.setLayoutParams(p); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM