今天需要在代码中动态的设置一个textview的width跟height属性,记录下来。

textview在xml中的布局如下

 <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/setup_fragment_padding_bottom_vfive"
android:layout_marginLeft="@dimen/setup_fragment_padding_left"
android:layout_marginRight="@dimen/setup_fragment_padding_right"
android:background="@null"
> <!-- Buttons below -->
<!--
In order to show these buttons above the IME keyboard, we need to special case the to
padding to a smaller height.
-->
<TextView
android:id="@+id/previous"
style="@style/accountSetupButtonVfive"
android:layout_width="159dp"
android:layout_height="wrap_content"
android:background="@drawable/email_btn_set"
android:layout_centerVertical="true"
android:text="@string/previous" />
<TextView
android:id="@+id/manual_setup"
style="@style/accountSetupButtonVfive"
android:layout_width="159dp"
android:layout_height="wrap_content"
android:background="@drawable/email_btn_set"
android:layout_centerVertical="true"
android:visibility="gone"
android:text="@string/account_setup_basics_manual_setup_action" /> <TextView
android:id="@+id/next"
style="@style/accountSetupButtonVfive"
android:layout_width="159dp"
android:layout_height="wrap_content"
android:background="@drawable/email_btn_next"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="@string/next" />
</RelativeLayout>

在代码中的更改如下

import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams; if (visibility == View.GONE) {
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);
mPreviousButton.setBackgroundResource(R.drawable.email_btn_previous_only);
mPreviousButton.setLayoutParams(lp);
}

注意,如果这个控件的layout是LinearLayout,那么你需要使用相应的LinearLayout.LayoutParams

如果你还想调节控件之间的距离,这时候仍然需要借助LinearLayout.LayoutParams

        LinearLayout.LayoutParams layoutParams1 = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
layoutParams1.setMargins(-10, 0, 0, 5);

它就实现了margin属性的设置

RelativeLayout-代码中成员控件width height的更多相关文章

  1. Android在代码中设置控件的drawableLeft,drawableRight,drawableTop,drawableBottom。

    根据业务的需要,要在代码中设置控件的drawableLeft,drawableRight,drawableTop,drawableBottom属性. 我们知道在xml中设置的方法为:android:d ...

  2. C#代码中设置 控件的触发器

    Style style = new Style(); style.TargetType = typeof(TextBox); MultiDataTrigger trigger = new MultiD ...

  3. PHP代码中input控件使用id无法POST传值,使用name就可以

    <html> <head> <title>Example</title> </head> <body> <?php if ...

  4. C# WinForm中 让控件全屏显示的实现代码

    夏荣全 ( lyout(at)163.com )原文 C#中让控件全屏显示的实现代码(WinForm) 有时候需要让窗口中某一块的内容全屏显示,比如视频播放.地图等等.经过摸索,暂时发现两种可行方法, ...

  5. RelativeLayout中include 控件覆盖重叠的问题

    RelativeLayout直接include另一个layout是会把include中的控件与当前layout中的控件覆盖重叠,经过查资料 其中的include标签一定要加上(因为include中不指 ...

  6. C#中combobox 控件属性、事件、方法

    一 .combobox 属性.事件.方法公共属性 名称 说明 AccessibilityObject 获取分配给该控件的 AccessibleObject. AccessibleDefaultActi ...

  7. MFC中ComboBox控件用法

    MFC ComboBox 一.入门篇 ComboBox (组合框)控件很简单,可以节省空间.从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的.用户可以从一个预先定义的列表里选择一个选项 ...

  8. CSharpGL(26)在opengl中实现控件布局/渲染文字

    CSharpGL(26)在opengl中实现控件布局/渲染文字 效果图 如图所示,可以将文字.坐标轴固定在窗口的一角. 下载 CSharpGL已在GitHub开源,欢迎对OpenGL有兴趣的同学加入( ...

  9. WPF中Ribbon控件的使用

    这篇博客将分享如何在WPF程序中使用Ribbon控件.Ribbon可以很大的提高软件的便捷性. 上面截图使Outlook 2010的界面,在Home标签页中,将所属的Menu都平铺的布局,非常容易的可 ...

随机推荐

  1. hadoop 2.5.1 、Hadoop 2.7 Hadoop 2.6

    1  rpm 安装     yum install rpm 2  JDK安装    << 一定要先删除JDK!!!!!!>>       rpm -qa | grep java ...

  2. Vmware qemu-kvm 虚拟化測试

    [root@kvm1 cloud]# lsmod | grep kvm kvm_intel 55496 3 kvm 337772 1 kvm_intel [root@kvm1 cloud]# egre ...

  3. Java,泛型类型通配符和C#对照

    c#的泛型没有类型通配符,原因是.net的泛型是CLR支持的泛型,而Java的JVM并不支持泛型,仅仅是语法糖,在编译器编译的时候都转换成object类型 类型通配符在java中表示的是泛型类型的父类 ...

  4. h5语音播放(移动端)

    <!--语音导航 start--> <div style="border:0px solid red;width:100%;height:72px;position:rel ...

  5. GitHub开源控件的使用合集

    Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...

  6. thinkphp路由的作用

    thinkphp路由的作用 问题 请问一下什么是thinkPHP路由,路由有什么作用?谢谢 解答 网络访问地址从来都是映射访问的,最初是这样,主机名(电脑名称)=>ip地址(如局域网192.16 ...

  7. spring-cloud导入eclipse时,@slf4j注解为什么找不到log变量

    原因是缺少插件Lomboz. Lomboz是一个基于LGPL的开源J2EE综合开发环境的Eclipse插件,对编码,发布,测试,以及debug等各个软件开发的生命周期提供支持,支持JSP,EJB等.L ...

  8. Android CardView卡片布局 标签: 控件

    CardView介绍 CardView是Android 5.0系统引入的控件,相当于FragmentLayout布局控件然后添加圆角及阴影的效果:CardView被包装为一种布局,并且经常在ListV ...

  9. Android 使用Retrofit获取JSON数据

    在大家使用网络请求的时候,往往会出现一种情况:需要拿到服务器返回来的JSON字符串,而Retrofit会默认将Json解析,而又没有直接暴露出拿到Json字符串的方法: 今天测接口的时候,发现当数据正 ...

  10. ubuntu server 网络配置,主机名配置

    一.通过命令ifconfig -a 查看可用网络设备 通过上面的命令,本机可用的网络设备为enp4s0f0 和enp4s0f1 ,不同的系统版本和硬件配置网络设备名可能不一样,所以一定要先确认本机可用 ...