问题标签 [android-layoutparams]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android:投射冲突设置 LayoutParams(投射到 ActionMenuView 错误)
我的 Android 应用程序面向 Android 3.1,并且具有在操作栏上加载不同菜单的模式,还有一个微调器和一些按钮。我收到以下错误:
当按下菜单按钮以访问未直接显示在操作栏上的某些其他选项时。
在 onPrepareOptionsMenu 中,有获取项目引用的正常指令,并且微调器设置为它的 LayoutParams。我认为这条指令会导致错误,不是吗?
如何解决这个错误?
android - android自定义布局参数ClassCastException和View呢?
好的,这就是我正在做的......我有两个自定义布局:
和
所以在根布局中,我有一个自定义的 LayoutParameters 来接受一个布局属性,叫做 handed。这是布局参数类
据我了解(似乎摇摇晃晃),我还需要覆盖 HandedLayout 中的 3 个类。他们来了:
所以在内部自定义布局(HandedPathLayout)中,我需要很多布局参数,所以我做的完全一样!这是 HandedPathLayout 内部的 LayoutParameters 类:
再一次,在 HandedPathLayout 类中,三个函数确保我们得到正确的 LayoutParams:
我已经尝试过使用和不使用完全限定的 LayoutParams 类名。
所以,现在一切都在那里并且编译好了,然后在根 ViewGroup 的 onMeasure 中,HandedLayout,我循环遍历孩子并尝试获取他们的 getLayoutParams(),这样我就可以弄清楚将它们放在哪里以及如何测量它们,我得到了这个 ClassCastException!
05-29 18:16:35.061 9391-9391/com.codesolutions.onehandkeyboard E/AndroidRuntime:致命异常:主进程:com.codesolutions.onehandkeyboard,PID:9391 java.lang.ClassCastException:com.codesolutions.pathlayout.HandedLayout$ LayoutParams 无法在 com.codesolutions.pathlayout.HandedLayout.onMeasure(HandedLayout.java:90) 处转换为 com.codesolutions.pathlayout.HandedPathLayout$LayoutParams
这个演员抛出了这个异常,看起来它应该得到正确的类型,在调试器中我已经确认孩子确实是一个 HandedPathLayout,并且所有迹象都表明 LayoutParams 是正确的类型!
我只是不明白为什么 LayoutParams 的类型不正确!
我不明白的另一件事是关于我想放入我的 HandedPathLayout 的自定义视图(扩展 TextView)。它需要一个自定义的 layout_rows XML 属性,所以我需要让它成为自己的 LayoutParams 吗?这些仅适用于 ViewGroup,对吗?但是,需要应用该属性的是视图,而不是 ViewGroup。
更新:
因此,当我运行调试器并在我的演员失败之前停止时,在 HandedLayout 的 onMeasure 中......我发现,事实上,LayoutParams 对象都不是我期望的类型!父级(HandedLayout)的 getLayoutParams 返回一个 FrameLayout.LayoutParams(这对我来说根本没有意义),而子级(它是一个 HandedPathLayout)有一个 HandedLayout.LayoutParams!为什么?!我在这里不明白什么?
谢谢!
android - 根据字体大小调整 EditText
我正在使用以下代码创建动态编辑文本:
单击按钮我使用以下代码更改编辑文本的字体大小:
我面临的问题是,当 textsize 被选择为更高的值时,编辑文本不会调整大小。它保持原来的大小。如果有人能告诉我如何在文本大小更改时调整编辑文本的大小,我将不胜感激。
android - Android 中 ALPHA_CHANGED 的用途
在WindowManager.LayoutParams
类中有一个常量叫做ALPHA_CHANGED
. 它的目的是什么?我似乎找不到任何关于它的东西。
android - AS 找不到 BottomSheetBehavior_Params、_behavior_peekHeight 和 _behavior_hideable
我刚刚将我的应用程序更新到支持库版本 24.0.0,我收到了有关 BottomSheet 参数的一些错误。
编码:
Android Studio 找不到:
android.support.design.R.styleable.BottomSheetBehavior_Params
android.support.design.R.styleable.BottomSheetBehavior_Params_behavior_peekHeight
android.support.design.R.styleable.BottomSheetBehavior_Params_behavior_hideable
知道他们把它搬到哪里了吗?
android - 从动态创建的布局中移除 OnTouchListener 的视图
我有一个动态创建的覆盖窗口,它在窗口的某个布局上有一个 OnTouchListener。当我使用 OnTouchListener 检测到触摸时,我希望删除此覆盖窗口。这个覆盖是动态创建的,不是活动的一部分,因此不遵循活动生命周期,因此我不能调用finish()。那我该如何删除视图呢?下面的代码片段是我创建视图的位置,以及我的 OnTouchListener 所在的位置。我应该如何删除覆盖?
我尝试调用 WindowManager.removeView(thisView),但在 onCreate() 之前,诸如 WindowManager 之类的系统服务对活动不可用。
java - WindowManager - 在导航栏(按钮)顶部绘图 Android
下午好。我有一个服务,其中创建了对象并 WindowManager View - 被分配了参数背景(mView.setBackgroundColor(color)。事实是现在我只在主桌面屏幕和状态栏上绘制了视图,而导航栏不是受影响。如何在 Android 中查看绘图和导航栏(按钮)顶部?目前:
结果: 在此处输入图像描述
相对而言,这就是我必须用红色绘制的所有内容,包括导航栏。谢谢你。
android - 以编程方式设置边距在某些设备上不起作用
在我的应用程序中,我正在以编程方式创建一个 RelativeLayout 并设置 topMargin。在 Nexus 5X 上,设置了边距,但在 LG G4 上,没有边距。
父布局始终为 LinearLayout:
我试过设置 LinearLayout divider,但它不适用于两种设备。
我发现这篇文章,建议使用父母的 LayoutParams,但它不适用于这里,因为我已经在使用正确的 LayoutParams。
android - 如何以编程方式向 LinearLayout 添加和删除布局行为
您可以将app:layout_behavior="@string/appbar_scrolling_view_behavior"
行为添加到LinearLayout
XML 声明中,但我还没有找到在代码中执行相同操作的方法。使用 aCoordinatorLayout
您可以调用CoordinatorLayout.LayoutParams.setBehavior()
,但此方法不适用于LinearLayout.LayoutParams
. 有没有办法做类似的事情LinearLayout
?
android - 具有 layout_weight 但具有 maxWidth 的均匀间距按钮
我有 4 个按钮,我使用 layout_weight="1" 和 layout_width="0dp" 均匀分布。但是,在大型平板电脑布局上,按钮过于分散并且看起来很难看,因此我想为所有按钮设置一个 maxWidth,并在整个 LinearLayout 的两侧留有空白空间(因此四个按钮聚集到中心)。然而,通过 StackOverflow 爬行,许多人说他们不一起工作。有没有办法让我实现上面想要做的事情?
tl;博士:
- 低于某个宽度(例如 100dp),所有 4 个按钮的间距是均匀的。
如果布局要求按钮大于 100dp,则所有 4 个按钮都设置为 100dp 宽度并粘在一起,在布局的两侧留出空间。
/li>