java按钮的高度_关于java:在Android中设置Button的宽度

如何为Android按钮设置固定宽度? 每当我尝试设置固定宽度时,它将填充当前的父对象(RelativeView)。 这是我的XML:

我如何给它固定宽度?

UPDATE

假设我有几个按钮,它们想要彼此相同的大小以及整个视图(纵向)的1/3,然后我想要一个宽度加倍的按钮。 然后是高度加倍的按钮。 除了手动调整大小外,我该怎么做?

要完成所需的操作,可以将LinearLayout与weightsum一起使用。例如,您可以将WeightSum设置为9。如果将三个按钮的权重分别设置为1,则将其设置为1。它们将占据1/3的位置,您可以将2放到另一个对象上。该对象将是另一个对象的两倍。

http://developer.android.com/reference/android/widget/LinearLayout.html#setWeightSum(float)

编辑:我想补充一点,为了使其正常工作,必须将宽度或高度设置为0px(取决于它是水平还是垂直布局)。

代替android:layout_width="wrap_content",您可以使用固定的像素大小,例如android:layout_width="20px"或更好的方法:android:layout_width="20dp"

您还可以通过以下代码以编程方式设置宽度:Button.setWidth(int width)

关于您的更新:

我不知道这是否是一个好的解决方案,但我可以。你可以用

DisplayMetrics metrics = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(metrics);

读取屏幕分辨率,然后根据metrics.widthPixel和metrics.heightPixel设置按钮大小

如上所示,pd在20pd .. 可以使用固定的像素大小来代替android:layout_width =" wrap_content",例如android:layout_width =" 20px"或更好的方法:android:layout_width =" 20pd"

我认为应该是density pixel dp stackoverflow.com/questions/2025282/

dp是与密度无关的像素。 这个想法是,如果您使用此Android设备,则会根据屏幕尺寸放大或缩小它。 您可以查看开发者页面以获取更多信息:developer.android.com/guide/practices/screens_support.html

使用minWidth和minHeight设置按钮的宽度和高度。

android:id="@+id/Button01"

android:layout_below="@id/output"

android:text="7"

android:minWidth="100dp">

动态设置按钮的最佳和最简便的方法是

Button index=new Button(this);

int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 45, getResources().getDisplayMetrics());

int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 42, getResources().getDisplayMetrics());

高度和宽度(以像素px为单位)。 45是在dp中的高度,而42是在dp中的宽度。

index.setLayoutParams(new .LayoutParams(width, height));

因此,例如,如果将按钮放置在TableLayout的TableRow中,则应将其命名为TableRow.LayoutParams

index.setLayoutParams(new TableRow.LayoutParams(width, height));

在该代码中添加android:minwidth行。

您是否可以尝试详细说明并阐明必须在何处添加?

要扩展尺寸的按钮,请添加此行并提及" 20dp",如下所示

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值