android中动态添加控件的有关问题,
android中动态添加控件的问题,请教大家!!!!
XML文件中
<FrameLayout
android:id="@+id/m_frameLayout_01"
android:layout_width="663dip"
android:layout_height="108dip"
android:layout_marginLeft="0dp"
android:layout_marginTop="0dp" >
<ImageView
android:id="@+id/m_imageview_luzi_b01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/android_bg" />
<ImageView
android:id="@+id/m_imageview_luzi_b01_1"
android:layout_width="12dip"
android:layout_height="12dip"
android:layout_marginTop="2dp"
android:layout_marginLeft="4dp"
android:background="@drawable/android_bg_1" />
</FrameLayout>
FrameLayout布局中有两个ImageView,第二个在第一个上面,但是离顶部跟左边有一点点距离
第一个填充满整个FrameLayout宽高
XML中注释掉第二个ImageView
在JAVA代码中动态添加第二个ImageView
framelayout = (FrameLayout) findViewById(R.id.m_frameLayout_01);
LayoutParams params = new LayoutParams(2,4);
ImageView imageView = new ImageView(MainActivity.this);
params.height = 18;
params.width = 18;
params.leftMargin = 4;
params.topMargin = 2;
imageView.setBackgroundResource(R.drawable.android_bg_1);
imageView.setLayoutParams(params);
framelayout.addView(imageView);
可以添加成功,但是leftMargin跟topMargin参数就没有起作用,始终没有偏移,我的
LayoutParams是android.widget.RelativeLayout.LayoutParams,要实现XML中的layout_marginTop该怎么设置呢
------解决方案--------------------
把RelativeLayout.LayoutParams换成FrameLayout.LayoutParams
XML文件中
<FrameLayout
android:id="@+id/m_frameLayout_01"
android:layout_width="663dip"
android:layout_height="108dip"
android:layout_marginLeft="0dp"
android:layout_marginTop="0dp" >
<ImageView
android:id="@+id/m_imageview_luzi_b01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/android_bg" />
<ImageView
android:id="@+id/m_imageview_luzi_b01_1"
android:layout_width="12dip"
android:layout_height="12dip"
android:layout_marginTop="2dp"
android:layout_marginLeft="4dp"
android:background="@drawable/android_bg_1" />
</FrameLayout>
FrameLayout布局中有两个ImageView,第二个在第一个上面,但是离顶部跟左边有一点点距离
第一个填充满整个FrameLayout宽高
XML中注释掉第二个ImageView
在JAVA代码中动态添加第二个ImageView
framelayout = (FrameLayout) findViewById(R.id.m_frameLayout_01);
LayoutParams params = new LayoutParams(2,4);
ImageView imageView = new ImageView(MainActivity.this);
params.height = 18;
params.width = 18;
params.leftMargin = 4;
params.topMargin = 2;
imageView.setBackgroundResource(R.drawable.android_bg_1);
imageView.setLayoutParams(params);
framelayout.addView(imageView);
可以添加成功,但是leftMargin跟topMargin参数就没有起作用,始终没有偏移,我的
LayoutParams是android.widget.RelativeLayout.LayoutParams,要实现XML中的layout_marginTop该怎么设置呢
------解决方案--------------------
把RelativeLayout.LayoutParams换成FrameLayout.LayoutParams