代码中动态设置相对布局里控件的位置

  RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) imageButtonCursor.getLayoutParams();
        layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, R.id.imageButtonCursor);

设置imageButtonCursor在底部(因为之前此控件是依附A控件来设定位置的,根据需求A控件要隐藏掉,当A控件隐藏的时候,imageButtonCursor会跑位,所以要这样动态设置)

这里要说名的是 imageButtonCursor的父布局是RelativeLayout 否则getLayoutParams强转会报错的


 RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) imageButtonCursor.getLayoutParams();
        //因为对SDK要求17以上 所以放弃此方法
        //layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_BOTTOM);     //这里需要清除掉之前设置的位置 否则不生效
        layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 0);
        layoutParams.addRule(RelativeLayout.ABOVE, R.id.horizontalScrollView1);

R.id.horizontalScrollView1为A控件(根据需求此时A控件要显示)显示出来后

imageButtonCursor有要根据A控件去找位置 因为之前设置imageButtonCursor显示在底部 如果不清除这个位置则 设置的相对位置则是无效的 17以上可以用removeRule的方法 为了兼容只能用
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 0);
时间: 2024-10-08 23:12:16

代码中动态设置相对布局里控件的位置的相关文章

在代码中动态设置android里View的边距

有时候需要动态设置某个View的位置,如果在布局文件中写则其布局已定. 这时可以通过在代码中根据不同的需要增加判断后,在设定边距等. 如下. 需要说下,setMargins() 方法.其括号中的四个参数依次对应的方位为-- 左,上,右,下. 左即指View的左边距. 代码来自mtk android 源码. 在代码中动态设置android里View的边距

Android代码中动态设置图片的大小(自动缩放),位置

项目中需要用到在代码中动态调整图片的位置和设置图片大小,能自动缩放图片,用ImageView控件,具体做法如下: 1.布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"

为节省内存,动态添加view布局和控件

1如果一个自定义view要在短时间被多次调用,会造成多次读取xml和findViewById,所以动态添加控件.属性 RelativeLayout: private void initView() { Button btn1 = new Button(this.getContext()); btn1.setId(1); RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(RelativeLayout.Layo

Cocos2d-x3.0 从代码中获取cocostudio编辑的UI控件

依据名字查找控件 须要包括的头文件及名字空间: #include "cocostudio/CocoStudio.h" #include "ui/CocosGUI.h" using namespace cocos2d::ui; using namespace cocostudio; 注:project中须要附加包括的头文件文件夹:$(EngineRoot)cocos\editor-support.由于cocostudio在此文件夹下. 获取UI控件的方法例如以下: m

如何在代码中动态设置字体大小

//给一个id为name的TextView设置字体大小 TextView mName = (TextView)findViewById(R.id.name); mName.setTextSize(22); 开始学Android的时候,设置字体大小,无非用上面的代码.写的非常舒服,都不知道22用的是什么单位,字体太小,数字改大点,字体太大,数字改小点.Android编写多了,想要读dimens里设置的22值.很简单下面就是代码. www.2cto.com [java] //XML中的定义<dime

[Android] 代码中动态设置shape

TextView textView = new TextView(this); GradientDrawable drawable = new GradientDrawable(); drawable.setCornerRadius(5); drawable.setStroke(1, Color.parseColor("#cccccc")); drawable.setColor(Color.parseColor("#eeeeee")); textView.setBa

在带(继承)TextView的控件中,在代码中动态更改TextView的文字颜色

今天由于公司项目需求,须要实现一种类似tab的选项卡,当时直接想到的就是使用RadioGroup和RadioButton来实现. 这种方法全然没问题.可是在后来的开发过程中,却遇到了一些困扰非常久的小困难.大概需求是:在代码中.动态的获取tab的个数,然后初始化RadioGroup,每个tab相应一个RadioButton,即加入一个tab就要向RadioGroup中add一个RadioButton,然后在button选中时要更改文字颜色.由于是动态加入,所以无法在xml中配置了RadioBut

在代码中动态创建控件无法保存状态的问题

在网上找了点资料,算是明白了,这是我觉得有帮助的文章: 原文:http://blog.csdn.net/keleloveni/archive/2007/03/15/1530300.aspx 引文: 今天偶然看到有篇文章谈到了相关的问题,终于又解决了一个自己不是很明白的东西. 页面生命周期中的第一个阶段是实例化,在这个阶段中,自动生成的类会根据页面的 HTML 部分中定义的静态控件构建控件层次结构.构造控件层次结构时,声明性语法中指定的值会赋给添加的每个控件的属性.实例化之后是初始化阶段,在这个阶

android代码编写布局和控件

//创建线性linearlayout布局对象  LinearLayout ll = new LinearLayout(this);    //设置linearlayout布局方向  ll.setOrientation(LinearLayout.VERTICAL);    //得到布局或控件高度  int height = LinearLayout.LayoutParams.MATCH_PARENT;    //得到布局或控件宽度  int width = LinearLayout.LayoutP