问题标签 [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.

0 投票
1 回答
111 浏览

android - Android:投射冲突设置 LayoutParams(投射到 ActionMenuView 错误)

我的 Android 应用程序面向 Android 3.1,并且具有在操作栏上加载不同菜单的模式,还有一个微调器和一些按钮。我收到以下错误:

当按下菜单按钮以访问未直接显示在操作栏上的某些其他选项时。

在 onPrepareOptionsMenu 中,有获取项目引用的正常指令,并且微调器设置为它的 LayoutParams。我认为这条指令会导致错误,不是吗?

如何解决这个错误?

0 投票
0 回答
174 浏览

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)的 g​​etLayoutParams 返回一个 FrameLayout.LayoutParams(这对我来说根本没有意义),而子级(它是一个 HandedPathLayout)有一个 HandedLayout.LayoutParams!为什么?!我在这里不明白什么?

谢谢!

0 投票
0 回答
69 浏览

android - 根据字体大小调整 EditText

我正在使用以下代码创建动态编辑文本:

单击按钮我使用以下代码更改编辑文本的字体大小:

我面临的问题是,当 textsize 被选择为更高的值时,编辑文本不会调整大小。它保持原来的大小。如果有人能告诉我如何在文本大小更改时调整编辑文本的大小,我将不胜感激。

0 投票
1 回答
131 浏览

android - Android 中 ALPHA_CHANGED 的用途

WindowManager.LayoutParams类中有一个常量叫做ALPHA_CHANGED. 它的目的是什么?我似乎找不到任何关于它的东西。

0 投票
1 回答
953 浏览

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

知道他们把它搬到哪里了吗?

0 投票
0 回答
541 浏览

android - 从动态创建的布局中移除 OnTouchListener 的视图

我有一个动态创建的覆盖窗口,它在窗口的某个布局上有一个 OnTouchListener。当我使用 OnTouchListener 检测到触摸时,我希望删除此覆盖窗口。这个覆盖是动态创建的,不是活动的一部分,因此不遵循活动生命周期,因此我不能调用finish()。那我该如何删除视图呢?下面的代码片段是我创建视图的位置,以及我的 OnTouchListener 所在的位置。我应该如何删除覆盖?

我尝试调用 WindowManager.removeView(thisView),但在 onCreate() 之前,诸如 WindowManager 之类的系统服务对活动不可用。

0 投票
1 回答
924 浏览

java - WindowManager - 在导航栏(按钮)顶部绘图 Android

下午好。我有一个服务,其中创建了对象并 WindowManager View - 被分配了参数背景(mView.setBackgroundColor(color)。事实是现在我只在主桌面屏幕和状态栏上绘制了视图,而导航栏不是受影响。如何在 Android 中查看绘图和导航栏(按钮)顶部?目前:

结果: 在此处输入图像描述

相对而言,这就是我必须用红色绘制的所有内容,包括导航栏。谢谢你。

0 投票
0 回答
358 浏览

android - 以编程方式设置边距在某些设备上不起作用

在我的应用程序中,我正在以编程方式创建一个 RelativeLayout 并设置 topMargin。在 Nexus 5X 上,设置了边距,但在 LG G4 上,没有边距。

父布局始终为 LinearLayout:

我试过设置 LinearLayout divider,但它不适用于两种设备。

我发现这篇文章,建议使用父母的 LayoutParams,但它不适用于这里,因为我已经在使用正确的 LayoutParams。

0 投票
1 回答
2122 浏览

android - 如何以编程方式向 LinearLayout 添加和删除布局行为

您可以将app:layout_behavior="@string/appbar_scrolling_view_behavior"行为添加到LinearLayoutXML 声明中,但我还没有找到在代码中执行相同操作的方法。使用 aCoordinatorLayout您可以调用CoordinatorLayout.LayoutParams.setBehavior(),但此方法不适用于LinearLayout.LayoutParams. 有没有办法做类似的事情LinearLayout

0 投票
2 回答
272 浏览

android - 具有 layout_weight 但具有 maxWidth 的均匀间距按钮

我有 4 个按钮,我使用 layout_weight="1" 和 layout_width="0dp" 均匀分布。但是,在大型平板电脑布局上,按钮过于分散并且看起来很难看,因此我想为所有按钮设置一个 maxWidth,并在整个 LinearLayout 的两侧留有空白空间(因此四个按钮聚集到中心)。然而,通过 StackOverflow 爬行,许多人说他们不一起工作。有没有办法让我实现上面想要做的事情?

tl;博士:

  1. 低于某个宽度(例如 100dp),所有 4 个按钮的间距是均匀的。
  2. 如果布局要求按钮大于 100dp,则所有 4 个按钮都设置为 100dp 宽度并粘在一起,在布局的两侧留出空间。

    /li>