利用代码修改layout_marginBottom的属性

Android开发中,可以利用xml来设置控件距离底部的尺寸,即设置layout_marginBottom的属性,那么,如何在java代码中设置这个属性呢?

这样的目的是,实现动态修改UI,而不需要重新定义布局文件。

样例如下:

首先,来看xml的定义(截取一部分):

<ListView
    android:id="@+android:id/listview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginBottom="20dp"/>

再来看对应的java代码:

listview= (ListView)findViewById(R.id.listview);
RelativeLayout.LayoutParams layoutParams = (LayoutParams) listview.getLayoutParams();
layoutParams.bottomMargin=0;//将默认的距离底部20dp,改为0,这样底部区域全被listview填满。
listview.setLayoutParams(layoutParams);

这样,就实现了动态修改UI了。

时间: 2024-10-29 19:11:23

利用代码修改layout_marginBottom的属性的相关文章

【Unity3D自学记录】利用代码修改图片属性(Inspector)

这段时间一直都在打包资源,然后每次导入都要改图片的属性,真是麻烦,所以一直在寻找一键修改并且打包的方法. 终于让我找到了,太坑人了. 根据自己的需求改代码哦,相信大家都能看明白. 核心部分: TextureImporter ti = (TextureImporter)TextureImporter.GetAtPath(AssetDatabase.GetAssetPath(obj)); ti.textureType = TextureImporterType.GUI; ti.filterMode

泛型约束和利用反射修改对象属性的值

周日了都,昨天休息了一天,今天想想得敲敲代码练习一下,如下关于泛型约束和利用反射修改对象属性的值的, 都挺简单的,呵呵,但时间一长,不经常使用还容易忘记在此就当记录一下了, 首先泛型代码一般是如下的情形: 加了泛型约束,只允许引用类型并且是只能是无参数的构造函数的类型才能传入,也就是不允许给类构造参数传递实参,否则将报错. 错误 1 “XXXXXX.pros”必须是具有公共的无参数构造函数的非抽象类型,才能用作泛型类型或方法“ 1 public static T GetObject<T>(T

在使用shape的同时,用代码修改shape的颜色属性

Android里面经常会使用shape来定制一些View的背景 可以修改View的背景颜色,形状等属性 一般情况下,shape都是在xml文件里面写死了,今天遇到一个需求,View的形状是圆角的,但是颜色是在代码里面设置的 最开始的思路是先在代码里给View设置颜色,再在shape里面设置solid属性为透明色 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="htt

WPF利用通过父控件属性来获得绑定数据源RelativeSource

WPF利用通过父控件属性来获得绑定数据源RelativeSource 有时候我们不确定作为数据源的对象叫什么名字,但知道作为绑定源与UI布局有相对的关系,如下是一段XAML代码,说明多层布局控件中放置一个文本控件,来显示父级控件的名称. 1.XAML Html代码 <Grid x:Name="g1" Background="Red" Margin="10"> <DockPanel x:Name="d1" Ba

钩取API之代码修改方法【一】

IAT方式就不去花精力了,加了壳的程序用这方法压根用不上. 就熟悉一下代码修改方法.书上用的是隐藏进程的实例 第一种办法 一,枚举进程,给所有进程加载DLL[用远程线程注入] 二,传入需要隐藏的进程名 三,判断有没有修改过需要钩取的函数,如果还没有修改过就改掉,跳向自己的函数,同时保存好原来的值 四,在自己的替代函数里将原来的值修改回去,并再执行一次,执行完做相关处理 五,在自己的替代函数最后再钩取函数,修改跳转到替代函数 基本逻辑就是这样,像是移花接木啊... DLL代码: #define S

批量修改AD用户属性python脚本

主要是用python调用dsquery查询到dn,再用python调用dsmod进行dn的属性修改. namelist.txt格式如下,部门的字段其实可以换成相应想修改的AD属性,比如AD中title是表示职位,想要修改工号-职务,就将dsmod语句改成如下(具体dsmod user的参数查 dsmod user /?可以看到.) "dsmod user " + dn + " -title " + dep |---------------| |sAMAccount,

DOM读取和修改节点对象属性

一.获取和修改元素间的内容(3种) 1.innerHTML 获得/设置元素开始标签和结束标签之间的html原文 固定套路:1.删除父元素下所有子元素:parent.innerHTML=""; 2.批量替换父元素下所有子元素:parent.innerHTML="所有子元素标签组成的html" 2.textContent/innerText: 获得开始标签和结束标签之间的文本(去除标签) textContent 是DOM标准:innerText 是IE8: 3.文本节点

使用SetWindowPos API函数移动窗口后,还需修改Delphi的属性值,以备下次使用,否则就会出问题(不是API不起作用,而是使用了错误的坐标值)

单独改变坐标的代码如下,可不断左移: procedure TForm1.Button1Click(Sender: TObject); begin SetWindowPos(panel1.Handle, 0, panel1.Left-10, panel1.Top, panel1.Width, panel1.Height, SWP_NOZORDER + SWP_NOACTIVATE); end; 照理每次改变坐标,都会调用SetBounds,都会调用SetWindowPos函数,可是一旦我屏蔽Upd

利用phpmyadmin修改mysql的root密码及如何进入修改密码后的phpmyadmin

1.利用phpmyadmin修改mysql的root密码 很多人利用phpmyadmin或者命令行来修改了mysql的root密码,重启后发现mysql登录错误,这是为什么呢?修改mysql的root的密码要在mysql软件中mysql数据库里修改root的密码,还要在配置文件中修改.而且在数据库中的修改不止修改一行数据,所以千万不要手动修改,要用命令来修改. 首先用root账号登陆phpmyadmin,然后点击左侧进入mysql数据库,在顶部点击"mysql"进入sql输入界面.输入