A. 安卓开发中public void setLayoutParams (ViewGroup.LayoutParams params)方法的具体作用是什么
设置布局参数,可以改变高度宽度,居中等属性
B. 安卓中什么是过度渲染怎么检测,优化
当一个活动接收到焦点时,它将被要求绘制它的布局。Android框架将处理这个绘画的过程,但是活动必须提供它的布局层次的根节点。绘画从布局的根节点开始。它被要求来测量和绘制布局树。绘画通过遍历布局树并渲染每个和失效区域相交的视图来处理。相应的,每个视图组负责请求绘制它的子视图(通过draw() 方法)而每个视图负责画它自己。因为这个树是顺序遍历的,这意味着先画父节点(也就是在屏幕后面),然后按照树中出现的顺序画其同层次节点。框架将不会画不在失效区域的视图,而且还将会帮你画视图背景。你可以强制一个视图被重画,通过调用invalidate()。绘画布局共有两步:一个度量过程和一个布局过程。度量过程在measure(int, int)里实现且是一个自顶向下的视图树遍历。每个视图在递归时往下推送尺寸规格。在度量过程的最后,每个视图都已经保存了自己的度量。第二个过程发生在layout(int, int, int, int) 中并且也是自顶向下。在这个过程中,每个父节点负责定位它的所有子节点,通过使用在度量过程中计算得到的尺寸。当一个视图的measure()方法返回时,它的getMeasuredWidth()和getMeasuredHeight() 值必须被设置,以及所有这个视图子节点的值。一个视图的度量的宽度和高度值必须符合父视图引入的限制。这确保在度量过程之后,所有父节点接受所有它们的子节点的度量值。一个父视图可能会在其子视图上多次调用measure()方法。比如,父视图可能会通过未指定的尺寸调用measure来发现它们的大小,然后使用实际数值再次调用measure(),如果所有子视图未做限制的尺寸总合过大或过小(也即是,如果子视图之间不能对各自占据的空间达成共识的话,父视图将会干预并设置第二个过程的规则)。要开始一个布局,可调用requestLayout()。这个方法通常在视图认为它自己不再适合它当前的边界的情况下被调用。度量过程使用两个类来交流尺寸。View.MeasureSpec类被视图用来告诉它们的父视图它们想如何被度量和定位。基础的LayoutParams类仅仅描述了视图想有多大(高和宽)。对于每个维度,它可以指定下面之一:· 一个准确的数值· FILL_PARENT, 这意味着视图想和父视图一样大(减掉填充padding)。· WRAP_CONTENT, 这意味着视图只想有刚好包装其内容那么大(加上填充)对于不同的ViewGroup子类,有相应的LayoutParams子类。比如,相对布局RelativeLayout有它自己的LayoutParams子类,这包含了能够让子视图横向和竖向居中显示的能力。度量规格(MeasureSpecs)被用来沿着树从父到子的下传度量需求。一个MeasureSpecs可以是下面三种模式之一:· UNSPECIFIED: 这被父视图用来决定其子视图期望的尺寸。比如,一个线性布局可能在它的子视图上调用measure() on its child,通过设置其高度为UNSPECIFIED 以及一个宽度为EXACTLY 240,来找出这个子视图在给定240像素宽度的情况下需要显示多高。· EXACTLY: 这被父视图用来给子视图强加一个准确的尺寸。子视图必须使用这个大小,并确保其所有的后代将适合这个尺寸。· AT_MOST: 这被父视图用来给子视图强加一个最大尺寸。子视图必须确保它自己以及所有的后代都适合这个尺寸。
C. 安卓相册里面有个666receive_motion是什么
extends ViewGroup.LayoutParamsimplements Parcelablejava.lang.Object ?android.view.ViewGroup.LayoutParams ?android.view.WindowManager.LayoutParams WindowManager.LayoutParams 是 WindowManager 接口的嵌套类;它继承于 ViewGroup.LayoutParams; 它用于向WindowManager描述Window的管理策略。主要成员常量Window flag系列该系列主要用于对Window的flag进行设置。设置Window的flag,可以直接对Window的getAttributes()得到其 WindowManager.LayoutParams对象,然后直接对它flag变量操作。也可以Window的addFlags(int flags)方法,setFlags(int flags, int mask)方法,clearFlags(int flags)方法进行操作。比如设置全屏: Window window = getWindow(); WindowManager.LayoutParams winParams = win.getAttributes(); winParams.flags=winParams.flags|WindowManager.LayoutParams.FLAG_FULLSCREEN; 或 window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 或 window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 取消全屏 Window window = getWindow(); winParams.flags=winParams.flags&~WindowManager.LayoutParams.FLAG_FULLSCREEN;
D. 安卓中如何在java代码中手动为控件设置参数
你设置他的layoutprames就可以了
FrameLayout.LayoutParamslayoutParams=newFrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);layoutParams.setMargins(0,0,0,0);//这里动态设置他的数值就行了,你说滚动设置,你在滚动监听里设置就行了。
E. 谁能告诉我安卓开发中怎样用java代码生成按钮并设置它的位置啊
给你写个最简单的吧,其实和XML布局是一样的。都是在LinearLayout、RelativeLayout这些布局中加控件,不同的是java代码都是new 出来的对象。例子:LinearLayout layout = new LinearLayout(context);layout.setOrientation(LinearLayout.VERTICAL); layout.setPadding(0, 0, 0, 0);layout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));Button btn = new Button(context); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);params.setMargins(0, 0, 0, 0);btn.setLayoutParams(params);layout.addView(btn);
F. 安卓编程中怎么动态改变一个控件的布局方式
首先你要确定你的viewpager是处在一个可全屏的父容器内的,比如一种不可能的方式是你在一个linearlayout里面,前面已经有view占位了,你就不可能全屏,所以,假设你的父容器是一个全屏的relativelayout,你的viewpager的布局在不全屏的时候可能是用的below,above这些相对位置,或者margin,padding这些属性,或者直接用的wrapcontent,那么你在全屏按钮的响应事件里,给viewpager设置layoutparams为match_parent,把margin,padding这些设置为0,把below,above这些规则都去掉,然后viewpager.invalidate();就可以了,具体看你静态布局怎么写的,要相对的做操作
G. 安卓的状态栏怎么去掉
状态栏无法取消,如果有什么应用不想在状态栏显示的可以在应用管理中关闭“在状态栏栏中显示”至于锁屏时状态栏拉下去可能是由于你用的是第三方锁屏软件,建议使用系统自带的锁屏可以解决此问题!
H. 安卓动态添加多个控件怎么弄
用LayoutParams: RelativeLayout insertLayout = (RelativeLayout)view1.findViewById(R.id.screen);//screen是一个RelativeLayout 布局的ImageView imgApple2 = new ImageView(MainActivity.this); imgApple2.setBackgroundColor(Color.parseColor("#ffb6b4"));RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(100, 100); layoutParams.topMargin=8; layoutParams.leftMargin=8; layoutParams.rightMargin=8; layoutParams.bottomMargin=8;insertLayout.addView(imgApple2,layoutParams);
I. 安卓编程 如何在Java代码里设置button的margin(外边距)
1、获取按钮的复LayoutParams
LinearLayout.LayoutParamslayoutParams=(LinearLayout.LayoutParams)button.getLayoutParams();
2、在LayoutParams中设置margin
layoutParams.setMargins(100,20,10,5);//4个参制数按顺序分别是左上右下
3、把这个LayoutParams设置给按钮
button.setLayoutParams(layoutParams);//mView是控件