如何以编程方式将RelativeLayout外的View添加到RelativeLayout

时间:2016-12-08 04:31:31

标签: android android-layout layout

我的xml是这样的:

<ScrollView>   
    <RelativeLayout>
        <android.support.v7.widget.RecyclerView
            android:id="@+id/rv_comment"
            android:layout_below="@+id/divider_daily"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:nestedScrollingEnabled="false">
        </android.support.v7.widget.RecyclerView>
    </RelativeLayout>
</ScrollView>
<com.myfitness.MyFitness.utils.customfont.CustomTextView
    android:id="@+id/btn_start_workout"
    android:layout_width="match_parent"
    android:layout_height="@dimen/app_bar_height"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="10dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:background="@drawable/background_btn_start_workout"
    android:gravity="center"
    android:text="@string/btn_start_workout"
    android:textColor="@color/white"
    android:textSize="20sp" />

当我点击按钮时,我想将ScrollView外的TextView移动到RecyclerView下面的RelativeLayout。

我想我应该使用LayoutParams,但我不知道如何,如果有人可以告诉我的方式,我会非常感激,tks。

2 个答案:

答案 0 :(得分:0)

RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams( RelativeLayout.WRAP_CONTENT,RelativeLayout.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW,R.id.rv_comment);
params.setMargin(0,16,0,0);
tv.setLayoutParams(params);

答案 1 :(得分:0)

将Relativelayout添加为rootview,将linearlayout添加为内容的父级,使用其方向将textview设置在recyclerview下方。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.v7.widget.RecyclerView
                android:id="@+id/rv_comment"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:nestedScrollingEnabled="false"></android.support.v7.widget.RecyclerView>
        </ScrollView>

        <com.myfitness.MyFitness.utils.customfont.CustomTextView
            android:id="@+id/btn_start_workout"
            android:layout_width="match_parent"
            android:layout_height="@dimen/app_bar_height"
            android:background="@drawable/background_btn_start_workout"
            android:gravity="center"
            android:padding="10dp"
            android:text="@string/btn_start_workout"
            android:textColor="@color/white"
            android:textSize="20sp" />
    </LinearLayout>
</RelativeLayout>