动态添加View并设置参数和规则无法正常工作(android)

时间:2015-12-08 07:54:13

标签: android android-layout dynamic view

我在Android项目中遇到问题。在这里我有一个 imageButton ,点击此处我必须给布局文件充气并在相对布局中动态添加它。添加视图工作得很好。但问题是在添加这个子视图后我需要移动新子布局下面的图像按钮。但我的 imageButton 在子视图下正在膨胀,也许我错过了一些LayoutParameters和规则。

这是我的代码

private void addDestinationViews() {

    View destinationChildView = LayoutInflater.from(getActivity()).inflate(R.layout.destination_city_item, null);
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.MATCH_PARENT,
            RelativeLayout.LayoutParams.MATCH_PARENT);
    params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    params.addRule(RelativeLayout.ALIGN_TOP, R.id.add_destinationbutton);
    destinationChildView.setLayoutParams(params);

    mInflated_view_holder.addView(destinationChildView);
}

这是我要膨胀的布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp">

<TextView
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="@drawable/add_destination_button_back"
    android:text="afaf"
    android:textSize="18sp"
    android:paddingLeft="30dp"
    android:padding="10dp"
    android:gravity="start|center"/>

<ImageButton
    android:id="@+id/cancle_destination_imagebutton"
    android:layout_width="10dp"
    android:layout_height="10dp"
    android:background="@drawable/cross_place_icon"
    android:scaleType="centerInside"
    android:layout_alignParentRight="true"
    android:layout_marginRight="10dp"
    android:layout_marginTop="10dp"/>

这是承载虚增布局的相对布局

<RelativeLayout
        android:id="@+id/inflated_view_holder_three"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_below="@+id/child_counter_title"
        android:layout_marginTop="15dp">

        <ImageButton
            android:id="@+id/add_destinationbutton"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:src="@drawable/add_place_icon"
            android:layout_alignParentRight="true"
            android:layout_marginRight="5dp"
            android:background="@drawable/add_destination_button_back"/>

    </RelativeLayout>

P.S 我忘记提及这个子视图将添加到imageButton按下。所以代码需要在这里是动态的。

1 个答案:

答案 0 :(得分:1)

用它来托管你的膨胀布局

md-autocomplete

如有任何问题,请告诉我