- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我看到帖子说 FrameLayout 是替代方案,我应该使用边距来定位东西(这让我觉得非常违反直觉,但是好吧......如果它有效,我会接受它)。但是,我无法让它工作,所以,我正在寻求帮助。
这是我的代码
FrameLayout layout = new FrameLayout(this);
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
Button btn = new Button(this);
btn.setBackgroundResource(R.drawable.btn);
FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
lp.setMargins(100,100,100,100);
btn.setLayoutParams(lp); //i've tried with and without this line, no change
layout.addView(btn , lp);
无论我做什么,按钮都绘制在 0,0 处。当我将 lp 的 LayoutParam 更改为 FILL_PARENT 时,按钮将被拉伸(stretch)以占据整个屏幕(这是有道理的)。
你如何让它在屏幕上的其他地方画画,不管那里还有什么?
一如既往,提前 super 感谢。
[编辑]看来我的问题并不完全清楚(给出答案)所以......
在上面的代码中,目的是创建一个按钮,将其传递给布局并让它在屏幕上的 100,100 处绘制。
我知道这在不同的设备上可能意味着不同的事情。我没意见。我只需要一种在运行时以编程方式将项目放置在特定位置的方法。我不想依赖重力(或热力学定律)。我只想指定一个位置并让元素出现在那里:)
最佳答案
正如许多人指出的那样,在屏幕上的绝对像素位置设置按钮是一个非常糟糕的主意,并且永远不会在所有可用的 Android 手机上工作。我确信有更好的方法来实现您想要的布局。
但是,要回答所问的问题:要在运行时定位它,您可以使用 AbsoluteLayout.LayoutParms。
AbsoluteLayout absoluteLayout = //get absolute layout
Button button = new Button();
AbsoluteLayout.LayoutParms params = absoluteLayout.generateDefaultLayoutParams();
params.x = 100;
params.y = 100;
absoluteLayout.addView(button, params);
关于android - Android 中 AbsoluteLayout 的替代方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687476/
使用 AbsoluteLayout 的 JFrame 边缘是否可以有一些额外的空间?当我将一个按钮作为 JFrame 最下方的组件时,它会直接定位在 JFrame 窗口的底部边缘上,而且看起来很糟糕。
问题“AbsoluteLayout 的有用替代品是什么?”似乎是一个经常被问到但从未真正回答过的问题。我的情况如下: 我想放置圆圈(为了简单起见,我使用 RadioButtons 进行测试),以便圆圈
我在 Android 6.0 Marshmellow 上的 Xamarin Forms 中遇到绝对布局问题 当设置 View 以填充整个屏幕时,屏幕底部会留下 1px 的间隙。 奇怪的是,如果您将屏幕
为什么声明 android:id="@+id/" 总是在我想运行我的应用程序时出现?有没有办法删除它?谢谢 错误 Error:(16, 21) Resource id cannot be an e
我正在尝试恢复我的旧项目。我想为此使用 maven 并且我想添加 AbsoluteLayout 依赖项。我是 Maven 的新手,所以我不知道出了什么问题。我发现这应该有效: org.netbean
我正在尝试用 JAVA 为银行应用程序制作 GUI。如果我在 Eclipse 中使用 WindowBuilder,那么为我的框架使用绝对布局很容易创建任何东西,但问题是当我调整框架大小时。所以这就
我正在尝试编写一个日历应用程序,我计划有一个网格(周 View ),它可能是一个 TableLayout 并且直接在上面我将必须绝对定位事件网格。 但 AbsoluteLayout 已被弃用。我应该改
slider 是这样开始的。 然后我想对其进行动画处理,使其向上并变宽一点,因此我使用了以下代码片段: await one.LayoutTo(new Rectangle(0.5, 0.1, 0.8,
我有这个 .XAML 页面,但 Scroll 不起作用当我删除 AbsoluteLayout 并采用 stacklayout 时,它工作正常。
我有以下布局: 还有一个简短的代码: public class LayoutTest extends Activity {
我在一台机器上使用 NetBeans 使用 AbsoluteLayout 制作了一个 Java 应用程序,然后将项目数据文件移动到另一台机器,在那里我收到了一些库(包括 AbsoluteLayout
我有一个 Xamarin 项目。我为 IOS、Android 和 UWP 开发。在我的应用程序中,我有 UI 元素的手动布局逻辑。在 IOS 中,我可以使用 frame 属性来设置 View 的渲染位
我看到帖子说 FrameLayout 是替代方案,我应该使用边距来定位东西(这让我觉得非常违反直觉,但是好吧......如果它有效,我会接受它)。但是,我无法让它工作,所以,我正在寻求帮助。 这是我的
目前,我在使用 Vaadin Table 时遇到了一个非常奇怪的问题。如果我在表中使用 AbsoluteLayout 数据不会显示,但如果我使用即 HorizontalLayout,数据会完美显示
我想通过 以编程方式 提供 x,y 坐标来使用 AbsoluteLayout View 显示标签。问题是 ScrollView 覆盖了 AbsoluteLayout 并且无法滚动页面。 最佳答案 不要
如果不推荐使用 AbsoluteLayout,我可以使用什么来代替它? 我已经完成了一个使用 AbsoluteLayout 的应用程序,但它不适用于不同的屏幕分辨率。我使用是因为我可以设置按钮的 X
我正在使用带有 AbsoluteLayout 的 Xamarin.Forms,但是,我不确定如何处理元素的定位。 我正在使用比例值,所以如果我在 AbsoluteLayout.LayoutBounds
我已将我的 Layout 切换为 AbsoluteLayout 并且所有内容都已就位,但是当我运行程序时,我的 JButtons 是不可见的,直到我将鼠标悬停在它们上面。我应该更改什么以使它们始终可见
我正在开发一个 Android 应用程序,其布局包括围绕圆形元素排列的按钮。由于所述元素的角会与其他按钮重叠,因此推荐的布局类型(LinearLayout 等)不是可行的选择。 但是,我想正确地执行此
AbsoluteLayout类已被弃用,但仍然可以用代码编写它并且它可以工作。使用这个类会不会有什么问题?将应用程序部署到手机上后能否正常运行? 谢谢 最佳答案 弃用通常意味着您不鼓励使用它,因为存在
我是一名优秀的程序员,十分优秀!