今天需要在代码中动态的设置一个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. HBase快照、Snapshots 淘宝快照

    淘宝在2011年之前所有的后端持久化存储基本上与我们所认知的意义,  大量存于 mysql .少量 oracle mongdb 等,使用mysql 的原因相信各位也很熟悉了.  开源.社区庞大.解决方 ...

  2. storm 消息确认机制及可靠性

    worker进程死掉 在一个节点 kill work进程 比方 kill 2509  对work没有影响 由于会在其它节点又一次启动进程运行topology任务 supervisor进程死掉 supe ...

  3. Centos7.4 modsecurity with nginx 安装

    1.准备: 系统环境:Centos7.4 软件及版本: nginx:OpenResty1.13.6.1 ModSecurity:ModSecurity v3.0.0rc1 (Linux) modsec ...

  4. Intellij Idea创建的第一个JavaWeb程序

    第一个JavaWeb程序 1. 创建 2. 目录结构 src目录用于放java源文件,web目录用于放web资源,WEB-INF是Java web应用固定的存放配置及类库的目录,index.jsp是我 ...

  5. Spring MVC 待学习---新特性

    Spring3.1新特性 一.Spring2.5之前,我们都是通过实现Controller接口或其实现来定义我们的处理器类.   二.Spring2.5引入注解式处理器支持,通过@Controller ...

  6. Weka中数据挖掘与机器学习系列之为什么要写Weka这一系列学习笔记?(一)

    本人正值科研之年,同时也在使用Weka来做相关数据挖掘和机器学习的论文工作. 为了记录自己的学习历程,也便于分享和带领入门的你们.废话不多说,直接上干货!

  7. Network Stack

    Network Stack 目录 1 Overview 2 Code Layout 3 Anatomy of a Network Request (focused on HTTP) 3.1 URLRe ...

  8. Multi-process Architecture

    For Developers‎ > ‎Design Documents‎ > ‎ Multi-process Architecture This document describes Ch ...

  9. webpack4强势来袭

    # Webpack4## 安装> webpack 4默认不需要配置文件(它吸收了Parcel的思想,零配置)> - npm i -D webpack> - npm i -D webp ...

  10. node.js状态码

    100——客户必须继续发出请求101——客户要求服务器根据请求转换HTTP协议版本200——交易成功201——提示知道新文件的URL202——接受和处理.但处理未完成203——返回信息不确定或不完整2 ...