gpt4 book ai didi

Android 按钮高度(以编程方式)

转载 作者:行者123 更新时间:2023-11-29 14:27:52 27 4
gpt4 key购买 nike

如何设置按钮高度小于 30px?我尝试了下一个:


enter image description here


  1. 设置高度(30); (第 150 组有效,但第 30 组无效)
  2. setPadding(0,-20,0,-20); (宽度是变化的,高度不是)
  3. LinearLayout.LayoutParams(设置 150 有效,但设置 30 无效)
  4. 新按钮(this, null, android.R.attr.buttonStyleSmall); - 仅对按钮文本有影响

enter image description here


Button mainButton = new Button(this);
mainButton.setPadding(0, 0, 0, 0);
mainButton.setLayoutParams(new LayoutParams(FlowLayout.LayoutParams.WRAP_CONTENT,FlowLayout.LayoutParams.WRAP_CONTENT));
l.addView(mainButton);

enter image description here


SmallButton mainButton = new SmallButton(this);
mainButton.setText(s);
mainButton.setBackgroundResource(R.drawable.button_drawable);
mainButton.setLayoutParams(new LayoutParams(FlowLayout.LayoutParams.WRAP_CONTENT,FlowLayout.LayoutParams.WRAP_CONTENT));
l.addView(mainButton);

public class SmallButton extends Button {

public SmallButton(Context context) {
super(context);
}

public SmallButton(Context context, AttributeSet attrs) {
super(context, attrs);
}

public SmallButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec,MeasureSpec.makeMeasureSpec(MeasureSpec.EXACTLY, 35));
}

@Override
protected void onDraw(Canvas canvas) {
canvas.save();
canvas.translate(0,-5);
super.onDraw(canvas);
canvas.restore();
}

enter image description here

我有一个带有渐变背景的 Shape 可绘制对象,因为我不知道确切的宽度。我还尝试设置它的高度。是否可以使按钮仅包含文本?

编辑:使用 TextView 而不是 Button 解决了这个问题。当然,如果您没有使用 Button.class 中的特定/覆盖的东西。

最佳答案

有两个参数。Button.setMinimumHeight() 和 Button.setMinHeight()。确保它们都设置为值“0”。

关于Android 按钮高度(以编程方式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17208951/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com