Android 如何在xmL 里面动态设置padding
如题,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相关推荐
- android 动态设置margin,Android 动态设置padding跟margin的问题
最近要做到动态设置padding跟margin,设置它们四个参数都是int类型.比如这里设置了10,,可是这个数又是代表什么意思呢?一直很好奇它们的单位问题,所以这就造成了,在不同手机上的适配问题.有 ...
- Android如何在java代码中设置margin
Android如何在java代码中设置margin,也就是组件与组件之间的间距. 代码中设置: LinearLayout.LayoutParams params = new LinearLayout. ...
- android 动态设置padding,Android动态设置控件大小以及设定margin以及padding值
http://www.aichengxu.com/Java/73893.htm Android动态设置控件大小以及设定margin以及padding值,有需要的朋友可以参考下. 一.概述 在andro ...
- Android获取屏幕宽度高度并动态设置控件宽度,比例等
1.Android获取屏幕宽度的几种方法: //1.通过WindowManager获取DisplayMetrics dm = new DisplayMetrics();int heigth = dm. ...
- 修改Android中strings.xml文件, 动态改变数据
有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法. strings.xml中节点是支持占位符的,如下所示: <string name=&q ...
- 转--Android如何在java代码中设置margin
======== 3 在Java代码里设置button的margin(外边距)? 1.获取按钮的LayoutParams LinearLayout.LayoutParams layoutParams ...
- 单选按钮android服务器,android – 如何在radiogroup中将单选按钮设置...
我已经动态创建了RadioGroup和RadioButton,如下所示: RadioGroup radioGroup = new RadioGroup(context); RadioButton ra ...
- android studio 默认继承AppCompatActivity动态设置标题title的方法
我们偶尔有时候需要在activity运行过程中手动,触发的设置title标题,这时我们可以通过系统的函数setTitle()来设置title.代码如下: @Overrideprotected void ...
- android动态设置src,Android 代码里设置ImageView的src和background
设置ImageView的src: image.setImageDrawable(getResources().getDrawable(R.drawable.blackk)); String path= ...
最新文章
- Python-列表和元组
- ICML2020 | PGFS:如何保证生成分子是可合成的?强化学习来帮忙
- Interpreter - 解释器模式
- 【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )
- 明明输出电压小于5V,单片机ADC测量到数值却一直为5V,解决方法
- 全球及中国燃料乙醇行业产量规模及供需前景分析报告2021-2027年
- 计算机管理的未来职业发展方向,职业发展方向
- 【python】numpy库linspace相同间隔采样 详解
- 蓝色三角_叶子长得像韭菜,花朵开得像个糖三角的鸢尾,用这3个方法拍摄它...
- C++笔记-shared_ptr与weak_ptr需要注意的地方
- 【华为云技术分享】快速理解spark-on-k8s中的external-shuffle-service
- 智能语音识别系统-解决方案.pdf
- POJ 1325 Machine Schedule 解题报告
- 蓝桥杯题目——平方回文数
- TM2008 Preview体验
- javaScript实现a页面触发b页面事件-小小笔记
- 介绍分享几款免费的在线Web文件管理器
- 计算机网络知识点——4.介质访问控制子层
- DIVA系列前期环境
- 锂电池充电过程及电路设计