如题,Android 如何在xmL 里面动态设置padding

有时候,你的布局加载完成之后,你findViewByid 找到控件,设置padding 会导致白条,布局闪动,那怎么办呢?

你是不是就想,在xml里面就设置好padding?

但是,Android 直接是不支持的。
只能迂回一下。我们思路就是,把一个自定义view 扔到xml 里面,自定义view 里面 动态获取你的padding值。

实现:
1。自定义view

public class DiffScreenPadding extends View {public DiffScreenPadding(Context context) {super(context);init();}public DiffScreenPadding(Context context, @Nullable AttributeSet attrs) {super(context, attrs);init();}public DiffScreenPadding(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);init();}private void init() {setBackgroundColor(Color.BLACK);}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {super.onMeasure(widthMeasureSpec, heightMeasureSpec);setMeasuredDimension(getMeasuredWidth(), DiffShapeScreenUtil.getPaddingArray()[1]);}
}

其中,DiffShapeScreenUtil.getPaddingArray()[1] 就是你自定义的高度。这个是可以变化的。代码里面,你想怎么样,还不是你说了算?这个值,你可以根据不同的情况,返回不同的值。

2。xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:id="@+id/layout_cartoon_browser"><com.weibo.xxx..View.DiffScreenPadding
        android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/diff_screen_padding"/><FrameLayout
        android:id="@+id/content"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_below="@+id/diff_screen_padding"><include layout="@layout/bookview_menu" android:visibility="gone"/></FrameLayout></RelativeLayout>

然后写到xml 里面。

大功告成。重要的不是技术含量,而是思路。
你能想出来这条路吗?

Android 如何在xmL 里面动态设置padding相关推荐

  1. android 动态设置margin,Android 动态设置padding跟margin的问题

    最近要做到动态设置padding跟margin,设置它们四个参数都是int类型.比如这里设置了10,,可是这个数又是代表什么意思呢?一直很好奇它们的单位问题,所以这就造成了,在不同手机上的适配问题.有 ...

  2. Android如何在java代码中设置margin

    Android如何在java代码中设置margin,也就是组件与组件之间的间距. 代码中设置: LinearLayout.LayoutParams params = new LinearLayout. ...

  3. android 动态设置padding,Android动态设置控件大小以及设定margin以及padding值

    http://www.aichengxu.com/Java/73893.htm Android动态设置控件大小以及设定margin以及padding值,有需要的朋友可以参考下. 一.概述 在andro ...

  4. Android获取屏幕宽度高度并动态设置控件宽度,比例等

    1.Android获取屏幕宽度的几种方法: //1.通过WindowManager获取DisplayMetrics dm = new DisplayMetrics();int heigth = dm. ...

  5. 修改Android中strings.xml文件, 动态改变数据

    有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法. strings.xml中节点是支持占位符的,如下所示: <string name=&q ...

  6. 转--Android如何在java代码中设置margin

    ========  3 在Java代码里设置button的margin(外边距)? 1.获取按钮的LayoutParams LinearLayout.LayoutParams layoutParams ...

  7. 单选按钮android服务器,android – 如何在radiogroup中将单选按钮设置...

    我已经动态创建了RadioGroup和RadioButton,如下所示: RadioGroup radioGroup = new RadioGroup(context); RadioButton ra ...

  8. android studio 默认继承AppCompatActivity动态设置标题title的方法

    我们偶尔有时候需要在activity运行过程中手动,触发的设置title标题,这时我们可以通过系统的函数setTitle()来设置title.代码如下: @Overrideprotected void ...

  9. android动态设置src,Android 代码里设置ImageView的src和background

    设置ImageView的src: image.setImageDrawable(getResources().getDrawable(R.drawable.blackk)); String path= ...

最新文章

  1. Python-列表和元组
  2. ICML2020 | PGFS:如何保证生成分子是可合成的?强化学习来帮忙
  3. Interpreter - 解释器模式
  4. 【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )
  5. 明明输出电压小于5V,单片机ADC测量到数值却一直为5V,解决方法
  6. 全球及中国燃料乙醇行业产量规模及供需前景分析报告2021-2027年
  7. 计算机管理的未来职业发展方向,职业发展方向
  8. 【python】numpy库linspace相同间隔采样 详解
  9. 蓝色三角_叶子长得像韭菜,花朵开得像个糖三角的鸢尾,用这3个方法拍摄它...
  10. C++笔记-shared_ptr与weak_ptr需要注意的地方
  11. 【华为云技术分享】快速理解spark-on-k8s中的external-shuffle-service
  12. 智能语音识别系统-解决方案.pdf
  13. POJ 1325 Machine Schedule 解题报告
  14. 蓝桥杯题目——平方回文数
  15. TM2008 Preview体验
  16. javaScript实现a页面触发b页面事件-小小笔记
  17. 介绍分享几款免费的在线Web文件管理器
  18. 计算机网络知识点——4.介质访问控制子层
  19. DIVA系列前期环境
  20. 锂电池充电过程及电路设计

热门文章

  1. c语言链表如何做成环,在C语言中单向链表环测试并返回环起始节点的实现方法...
  2. Beta 冲刺(4/7)
  3. C#: IntelliSense 貌似做错了一些事情。
  4. spring无法扫描jar包的问题
  5. vs2013 类名颜色显示黑色,无法修改
  6. 【HTML】DAY 4
  7. 使用ansible部署安装corosync+pacemaker
  8. “火柴棍式”程序员面试题
  9. asp.net开源CMS推荐
  10. Sayjoy┊多媒体在线编辑创作工具