原问题来自于CSDN问答频道,更多解决方案请见:http://ask.csdn.net/questions/441

问题描述:

我动态的创建了一个Relative Layout:

RelativeLayout layout = new RelativeLayout( this );    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,            LayoutParams.WRAP_CONTENT);

现在我想在Relative Layout上面添加两个按钮,但是这两个按钮都显示在Relative Layout的左边,还重叠在一起。

buttonContainer.addView(btn1);buttonContainer.addView(btn2);

现在我想知道如何动态的设置按钮的属性 android:layout_alignParentRight="true" 或者 android:layout_toLeftOf="@id/btn" 就像在xml中一样?

解决方案:

你可以使用View.getLayoutParams从代码中访问LayoutParams。你只需要知道你访问的什么LayoutParams。这通常是通过检查包含的ViewGroup就能知道。如果它有一个LayoutParams子类,那你就应该使用这个LayoutParams类。
在你的案例中它是RelativeLayout.LayoutParams,你应该使用RelativeLayout.LayoutParams#addRule(int verb)RelativeLayout.LayoutParams#addRule(int verb, int anchor)
你可以通过以下代码获得:

RelativeLayout.Layoutparams params = (RelativeLayout.LayoutParams)button.getLayoutParams();params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);params.addRule(RelativeLayout.LEFT_OF, R.id.id_to_be_left_of);button.setLayoutParams(params); //使layout更新


更多相关文章

  1. Android内置的Action
  2. Android(安卓)AIDL进程通信机制详解
  3. Android调用系统短信功能发送短信
  4. android上传图片到服务器,求服务器那边和android的Activity的完整
  5. android上传图片到服务器,求服务器那边和android的Activity的完整
  6. 自定义Android菜单背景
  7. Android中focusable属性的妙用——底层按钮的实现
  8. Android(安卓)运行崩溃找不到so包解决方案
  9. Android(安卓)Dialog的四种情况

随机推荐

  1. 【转】android 安全机制
  2. android资料共享
  3. android上实现语音识别,基于google的语音
  4. Android(安卓)中 MVC 的简单理解
  5. Android之NDK开发
  6. Prof Android(安卓)app dev: Introductio
  7. Android常用控件的一些属性
  8. 【Android】性能优化:电量消耗统计
  9. Android编码规范
  10. EditText横屏时,弹出软件盘时不进行全屏