Android 中的动态按钮方向
我用 .xml 制作了 UI,但我想动态地给出按钮的方向。 例如;
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/backbutton"
android:text="TEST123"
android:layout_x="120px"
android:layout_y="120px"
android:layout_width="100px"
android:layout_height="100px" />
</AbsoluteLayout>
然后是我的活动课,我像这样动态地改变了一些东西。
AbsoluteLayout al = new AbsoluteLayout(this);
Button t = new Button(this);
t.setHeight(300);
t.setWidth(300);
t.setText("TEST123");
// x y ???
setContentView(al);
我已经改变了高度和宽度..但我找不到改变 x 和 y 方向的方法。
I made my UI with .xml, But I want to give the direction of the Button by dynamically.
For Example;
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/backbutton"
android:text="TEST123"
android:layout_x="120px"
android:layout_y="120px"
android:layout_width="100px"
android:layout_height="100px" />
</AbsoluteLayout>
Then is my activity class I changed something by dynamically like that.
AbsoluteLayout al = new AbsoluteLayout(this);
Button t = new Button(this);
t.setHeight(300);
t.setWidth(300);
t.setText("TEST123");
// x y ???
setContentView(al);
I've changed the height and width..but I couldn't find the way to changed x and y directions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试 setPadding(int top,int left,int right,int Bottom) 方法。
我不确定屏幕上的其他元素如何适合,但我只是假设按钮是屏幕中唯一的元素。
try
setPadding(int top,int left,int right,int bottom)
method.I am not sure how your other elements of the screen are fitting, but I just assumed that button is the only element you have in your screen.
顺便问一下,你知道 1 倾角 = 多少 px 吗?
来自 http://developer.android.com/guide/practices/screens_support.html:
与密度无关的像素 (dp) -
应用程序可用于定义其 UI 的虚拟像素单元,以与密度无关的方式表达布局尺寸或位置。
与密度无关的像素相当于 160 dpi 屏幕上的一个物理像素,即平台假定的基线密度(如本文档后面所述)。在运行时,平台根据使用的屏幕的实际密度透明地处理所需的 dp 单位的任何缩放。 dp 单位到屏幕像素的转换很简单:像素 = dps * (密度/160)。例如,在 240 dpi 屏幕上,1 dp 等于 1.5 个物理像素。强烈建议使用 dp 单位定义应用程序的 UI,作为确保 UI 在不同屏幕上正确显示的一种方法。
By the way do you know 1 dip= how many px?
From http://developer.android.com/guide/practices/screens_support.html:
Density-independent pixel (dp) -
A virtual pixel unit that applications can use in defining their UI, to express layout dimensions or position in a density-independent way.
The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, the baseline density assumed by the platform (as described later in this document). At run time, the platform transparently handles any scaling of the dp units needed, based on the actual density of the screen in use. The conversion of dp units to screen pixels is simple: pixels = dps * (density / 160). For example, on 240 dpi screen, 1 dp would equal 1.5 physical pixels. Using dp units to define your application's UI is highly recommended, as a way of ensuring proper display of your UI on different screens.