android动态设置margin
❶ android动态创建布局怎么设置right
TextView tv = new TextView(this);
tv.setRight(10);
首先利用这个Activity创建一个TextView,然后设置它的Right不就行了
❷ Android 自定义控件 动态设置高度
Android动态改变View控件大小的方法:
1、声明控件参数获取对象 LayoutParams lp;
2、获取控件参数: lp = 控件id.getLayoutParams();
3、设置控件参数:如高度。 lp.height -= 10;
4:、使设置生效:控件id.setLayoutParams(lp);
例如如要把Imageview下移200px: ImageView.setPadding( ImageView.getPaddingLeft(), ImageView.getPaddingTop()+200, ImageView.getPaddingRight(), ImageView.getPaddingBottom());
❸ Android中怎么动态控制padding
在代码中调用控件的setPadding(int left, int top, int right, int bottom)方法就可以动态的发变了
❹ android布局中怎么设置外边距
android 中有两种边距:外边距margin 和内边距 padding
假设一个控件A和一个控件B
设置A控件的外边距(上下左右)为10dp的代码为:
margin:10dp;
设置A空间的外边距(上)为10dp的代码为:
margin-top:10dp;
其他以此类推
❺ Android Dialog 设置Margin方式总结
在日常开发中,总是会遇到各种Dialog的使用,调整根据UI设计的不同,会经常调整Dialog在屏幕中的位置,这篇文章主要介绍,在使用 DialogFragment 时设置Margin的几种方式。
如下是最后实现的效果:
设置两边margin效果:
设置顶部margin效果:
全屏的Dialog设置顶部Margin:
这个比较容易,主要就是设置一个高度wrap_content,宽度match_parent的dialog,然后在dialog的布局中设置margin就可以了。
如下是xml文件:
然后在DialogFragment的onResume里对Window做一些处理:
这种情况margin可以通过 WindowManager.LayoutParams 的 verticalMargin 属性来实现。 verticalMargin 和xml里面设置的layout_margin不一样, verticalMargin 是通过设置一个0-1的float变量,来标识margin在屏幕中的占比。
如下是在DialogFragment的onResume中的处理:
xml文件(和1的类似,没有什么特别):
这里如果使用2中的方法,没有任何效果。这里使用另外一种方式实现-- insetDrawable 。
这里的实现是在xml里面写一个 <inset> :
在DialogFragment的onResume方法中:
❻ 动态设置 android:layout_marginTop 怎么设置
LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); layoutParam.setMargins(10, 20, 10, 0);代码中,把这个 layoutParam 给控件应该就可以了
❼ Android如何在java代码中设置margin
1、比如imageView,有一个getLayout方法,获得的layout在强转类型到LinearLayout或者其他,然后再设定margin什么的。
2、我们平常可以直接在xml里设置margin,如:
Xml代码 <ImageViewandroid:layout_margin="5dip"android:src="@drawable/image"/>
但是有些情况下,需要在java代码里来写,可是View本身没有setMargin方法,怎么办呢?
通过查阅android api,我们发现android.view.ViewGroup.MarginLayoutParams有个方法
setMargins(left, top, right, bottom)。
其直接的子类有: FrameLayout.LayoutParams, LinearLayout.LayoutParams and RelativeLayout.LayoutParams。
❽ Android 如何在Java代码中手动设置控件的marginleft
1、定义LayoutParams
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);//定义一个LayoutParams
2、在LayoutParams中设置marginLeft
layoutParams.setMargins(20,0,0,0);//4个参数按顺序分别是左上右下
3、把这个LayoutParams设置给控件
mView.setLayoutParams(layoutParams); //mView是控件
❾ Android 通过配置,设置margin-Left和margin-Top相对的距离
下面推荐三种实现方式:
代码实现 先计算屏幕宽高 动态设置控件margin属性
布局实现 利用LinearLayout的layout_weight属性实现
借助google官方的百分比库(percent)
比较下三种实现方式优劣
第一种实现较简单 但是比较麻烦 复用性不高 如果是动态的比例放置控件推荐使用
第二种在布局中写 于代码解耦 但容易造成布局冗余 影响效率
第三种适配性好 同时兼容平板 如果对适配要求比较高 可以考虑使用