嗨,我正在开发android应用程序,其中我以编程方式创建相对布局,并尝试为此设置边距并将其添加到具有线性方向的线性布局中。所以这是我的代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/screen_background"
tools:context=".ChooseChannelsFragment" >
<LinearLayout
android:id="@+id/main_outer_llt"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
>
</LinearLayout>
</RelativeLayout>
在片段内部,我要像这样添加相对布局
RelativeLayout relativeLayout = new RelativeLayout(getActivity());
RelativeLayout.LayoutParams relativeParams = new RelativeLayout.LayoutParams(200, 80);
relativeParams.setMargins(20, 20, 20, 20);
relativeLayout.setLayoutParams(relativeParams);
relativeLayout.setBackgroundColor(getResources().getColor(R.color.green_color));
linearLayout.addView(relativeLayout);
它使用给定的颜色和大小创建布局,但不接受边距。难道我做错了什么?这个怎么做?需要帮忙。谢谢。
您在视图上使用的LayoutParams类型实际上应该来自其父级。
因此,如果要将RelativeLayout添加到LinearLayout,则设置为RelativeLayout的LayoutParams实际上应该是LinearLayout.LayourParams,而不是RelativeLayout.LayoutParams。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句