Articles of layoutparams

如何以编程方式设置layout_alignParentRight =“false”?

如何以编程方式设置android:layout_alignParentRight=”false” ? 我可以通过此代码将其设置为true ,但我想以编程方式将其设置为false : RelativeLayout.Layoutparams params = (RelativeLayout.LayoutParams)myView.getLayoutParams(); params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); button.setLayoutParams(params); 有一个方法removeRule(int)但它被添加(API级别17)。 我想在API级别7或8中使用类似的东西。

你如何改变ImageView的大小?

我已经设置了我的ImageView,如下所示: 请注意,layout_width固定为60dp。 根据我在线获取的内容,我想将此宽度调整为90dp或120dp(同时保持图像的宽高比)。 我尝试使用setLayoutParams,但传递LayoutParams(120,LayoutParams.WRAP_CONTENT)会引发exception。 它似乎不喜欢它。 如果可能的话,我试图避免为更大的尺寸制作另一个ImageView。

android从全屏模式退出

我在Android工作。 我需要以全屏模式显示我的活动,我使用以下代码完成此操作。 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 现在看起来像这样: – 现在我想退出这个完整模式,所以我的活动应该像以前一样显示。 喜欢这个:- 我有一个按钮,用于在完全模式或正常模式之间切换,我将一次又一次地切换模式。 请建议我怎么做这个。 意味着如何从全屏获得正常的屏幕。 先谢谢你。

在LinearLayout中更改LayoutParams的animation

在我的应用程序中有一个LinearLayout,其布局高度为0。 单击按钮时,此布局高度应为LayoutParams.WRAP_CONTENT。 这是我在onclicklistner中使用的代码。 LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); slider.setLayoutParams(lp); 我想animation这个。 如何将animation设置为滑块。

在android中设置布局参数

使用XML文件很简单,因为我可以将参数指定为 但是我在通过代码指定它时感到困惑。 对于每个视图,我使用指定参数 view.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT)); 我看到我可以选择将其指定为相对布局,框架布局等。截至目前,我正在为所有视图使用线性布局,例如图像,文本和gridview。 是否应根据父元素的布局定义视图参数? 或者将它指定为线性布局是否可以,即使视图是例如framelayout的子节点? 对不起,但我找不到区别。

如何通过代码设置layout_span

有没有人知道如何在运行时设置/更改android:layout_span=””中的EditText的android:layout_span=”” 。 我已经在我的XML文件中定义了EditText。

LayoutParams使用什么度量单位?

p我正在使用线性布局,并希望设置视图的最大高度。 在“正常”情况下,我希望视图使用“wrap_content”。 然而,偶尔情况可能会将布局推向不合需要的尺寸。 发生这种情况时,我想将高度限制在最大300dp。 当布局中的列表超过4个列表项时,我使用以下设置了视图的大小: LinearLayout listLayout = (LinearLayout) dialog.findViewById(R.id.listLayout); if(list.size() > 4){ LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 300); listLayout.setLayoutParams(params); } 查看文档使我不了解所应用的度量单位。 在这种情况下(dp,sp,px,…)有多少计量单位? 运行测试,甚至将值设置为100都会使列表超出所需的高度。 请指教

更改LayoutParams对象上的属性后,是否需要再次调用setLayoutParams?

我有一个视图(包含广告),我需要缩放以适应特定时间点(加载广告后)的屏幕宽度。 所以我有一个方法setHeight(myView) ,它计算给定屏幕宽度的正确高度,并相应地更改View的LayoutParams。 代码的关键部分是: LayoutParams params = myView.getLayoutParams(); int width = myView.getWidth(); if (params != null && width > 0) { params.height = (int) Math.round(ratio * width); } 这似乎在很大程度上起作用,但有时视图不会缩放。 如果我在底部添加以下行,似乎只能一致地工作: myView.setLayoutParams(params); 这似乎也有意义,因为Android Views在其setLayoutParams()方法中调用requestLayout() 。 相反,我认为公共领域( params.height )的变化不会触发布局变更。 另一方面,我反复在网上find简单更改参数的教程,然后再不再设置视图。 所以,我的问题是:在更改LayoutParams的属性后立即更新布局是否正确,我需要再次调用setLayoutParams ? 只是更改属性只会导致布局更改在稍后的某个时间点从其他地方触发布局更改时?

android:TextView的LayoutParams使视图以编程方式消失

我从不同的角度来看这个。 基本上要点是: 我已经在XML中为一个以编程方式运行NEEDS的接口布局了一个模板,因此它将在运行期间动态填充。 这里的问题是XML TextView有很多布局调整(有效)并且是必要的。 但是如果我实际上在代码中设置它们,TextView甚至都不显示。 (顺便说一下,TextView嵌套在TableRow中,因此调用了权重。)我首先设计的XML模板,用作代码的参考是这样的,它工作得很好: 就像我说的那样,完美地展现出来。 当我在代码中运行相同的布局,并应用LayoutParams时,TextView消失。 这是相关的片段: int textViewExampleID = 9001; private TextView txtviewExample = new TextView(this); private void buildTextView(){ LayoutParams paramsExample = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT,1.0f); txtviewExample.setId(textViewExampleID); txtviewExample.setBackgroundResource(R.drawable.textview_9patch_white); txtviewExample.setGravity(Gravity.CENTER); txtviewExample.setTextColor(getResources().getColor(android.R.color.black)); paramsExample.setMargins(20, 20, 20, 20); txtviewExample.setPadding(20, 20, 20, 20); txtviewExample.setTextSize(40); txtviewExample.setText(“customExample”); //if I comment out the following line, this TextView displays. //if I leave […]

Android:更改由WindowManager添加的View的LayoutParams

我已经覆盖由WindowManagerpipe理的View ,就像在这个问题 。 简而言之,它看起来像这样: WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE); my_view_layout_params = new WindowManager.LayoutParams( WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, PixelFormat.TRANSLUCENT); wm.addView(my_view, my_view_layout_params); 它的工作原理,但如果我需要更改布局参数,我需要删除视图并再次添加,如下所示: wm.removeView(my_view); wm.addView(my_view, my_view_layout_params); 看起来不是很漂亮 我试图做my_view.setLayoutParams(my_view_layout_params) ,但不幸的是它不工作。 我该怎么做?