- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个应用程序,它将向相关布局添加 View 直到停止。我的问题是 RelativeLayout.LayoutParams.addRule 是如何工作的?如果我继续调用 addRule,这会创建一个不断增长的列表还是 addRule 检查规则是否已经存在?下面的代码真的有必要吗?我可以只使用 addRule 并且如果已经存在则不会创建重复条目吗?
谢谢
int[] rules = this.position[0].params.getRules();
boolean rule = false;
switch(index){
case 0:
for(int i = 0; i < rules.length; i++){
if(rules[i]==RelativeLayout.RIGHT_OF)
rule = true;
}
if(!rule){
this.position[0].params.addRule(RelativeLayout.RIGHT_OF);
}
break;
case 1:
for(int i = 0; i < rules.length; i++){
if(rules[i]==RelativeLayout.LEFT_OF)
rule = true;
}
if(!rule){
this.position[1].params.addRule(RelativeLayout.LEFT_OF);
}
break;
case 2:
for(int i = 0; i < rules.length; i++){
if(rules[i]==RelativeLayout.ABOVE)
rule = true;
}
if(!rule){
this.position[2].params.addRule(RelativeLayout.ABOVE);
}
break;
case 3:
for(int i = 0; i < rules.length; i++){
if(rules[i]==RelativeLayout.BELOW)
rule = true;
}
if(!rule){
this.position[3].params.addRule(RelativeLayout.BELOW);
}
break;
}
最佳答案
通过查看 RelativeLayout.LayoutParams
的代码class 你可以看到规则存储在一个 int
数组中,规则是索引,所以无论你调用多少次 addRule
规则都只会添加一次(最后一次通话算在内)。
关于android - LayoutParams.addRule 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13488987/
import i18next from 'i18next'; import LanguageDetector from 'i18next-browser-languagedetector'; cons
我需要使用 insertRule 通过 Javascript 修改一些 CSS。我还需要支持 IE7-8,所以我需要一些方法在 Javascript 中区分我应该使用 insertRule 还是 ad
所以我得到了最新版本的jss和material ui。我使用 withStyles HOC 并在样式对象中动态更改 css,但我似乎无法在 css 中声明关键帧。我也使用 nextjs 如果这有什么区
我正在构建一个应用程序,它将向相关布局添加 View 直到停止。我的问题是 RelativeLayout.LayoutParams.addRule 是如何工作的?如果我继续调用 addRule,这会创
ViewGroup.LayoutParams layoutParams = new RelativeLayout.LayoutParams(containerWidth, fragmentHeight
我正在构建一个 javascript 图像 slider ,并注意到在 chrome 中本地拉取 index.html 文件时出现问题。这是我的代码 (function(){ //slider con
我想根据卡片的数量动态扩充 RelativeLayout。出于测试目的,我将循环设置为 3。但是当我运行代码时,我只能查看最后 2 张卡片,而不是 3 张。我在这里缺少什么? 请在下面找到截图和代码。
将规则之一添加到RelativeLayout后,我得到了不太正确的结果。 ID 不适用于元素/应用不正确。这会影响必须绑定(bind)到小部件的规则。 作为容器,我使用ListView并通过BaseA
我尝试在彼此下方创建 5 个按钮,但它们出现在彼此之上 ArrayList btn = new ArrayList<>(); for (int i=0; i<10; i++) { Lo
我正在尝试制作一个将 CSS 规则注入(inject)页面的 jQuery 插件。我正在使用 addRule 和 insertRule。出于某种原因,addRule 从您传递给它的任何规则中删除了 !
我有一个 View 是 RelativeLayout 的 subview ,我正在尝试修改 Java 中的布局参数。我得到 LayoutParams 如下: RelativeLayout.Layout
我正在编写一些代码,其中以两种不同的方式将规则添加到 LayoutParams 变量。在一些代码中,它是这样完成的: params.addRule(RelativeLayout.ALIGN_PAREN
我正在尝试使用 JS 创建样式表并附加一些规则,但它不会工作。 if (style == null) { var style = document.createElement('style');
是否可以使用 addRule 或 insertRule 来传递 id 选择器?即: document.styleSheets[1].addRule('div #3', 'font: 14px verd
在 OnCreate() 中,我按如下方式初始化 mRelLayout: mRelLayout = (RelativeLayout) findViewById(R.id.relative_layout
我有一个循环将可变数量的 View 添加到 RelativeLayout,我想设置一些规则,如 BELOW,我的问题是我使用标签动态命名对象,要使用 addRule() 方法,我需要使用一个 id,所
我有如下 typescript 代码:- export function getRootWindow():Window { return window.top; } export functi
我想在 ckeditor 中创建段落时自动添加某个类。我写了这段代码,但它不起作用。 CKEDITOR.on('instanceReady', function (ev) { var
我写了这个函数: private void SetNewsBackButton(Boolean visible) { LinearLayout backButton = (LinearLayo
我动态地将 View 添加到相关布局并以编程方式定义它们。 View 可以在屏幕上移动,因此它们的位置会发生变化。 当我尝试将 View (button2) 设置为位于另一个 View (button
我是一名优秀的程序员,十分优秀!