简体   繁体   English

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

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

I've read a few answers about setting margins of a textview programmatically when the parent is a LinearLayout, but in my case i need to set margin of a textview in a relativelayout 我已经阅读了一些有关在父级为LinearLayout时以编程方式设置textview的边距的答案,但就我而言,我需要在相对布局中设置textview的边距

here's what i tried and didn't work: 这是我尝试但没有奏效的方法:

description is my textview in the following code: 描述是我在以下代码中的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);

Any hint ? 有什么提示吗?

UDPATE: UDPATE:

my layout xml file: 我的布局xml文件:

the TextView with id textViewTip is the one i need to change relative and margins attributes. 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);

try this. 尝试这个。 as it is working now and will provide margins. 因为它现在正在工作,并将提供利润。

look my updated ans. 看我更新的ans。 from the xml the margin layout working well you can set the margin from xml. 从xml的边距布局运行良好,您可以从xml设置边距。 as

   <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" />

it is working and if you want to change the margins programmatically then use the following code. 它正在工作,如果您要以编程方式更改边距,请使用以下代码。

    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