簡體   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