gpt4 book ai didi

android - 自定义 TextView 的边距

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:27 25 4
gpt4 key购买 nike

我检查了很多答案,但到目前为止没有任何帮助。

我正在尝试扩展 android 的 TextView 并在代码中设置此自定义 View 的边距,因为我将在按下按钮和类似操作时实例化它们。它被添加到 LinearLayout。这就是我得到的:

public class ResultsView extends TextView {
public ResultsView(Context context) {
super(context);
LinearLayout.LayoutParams layout = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layout.setMargins(15, 15, 15, 15);
setLayoutParams(layout);
}
}

任何地方都没有 margin 的迹象。

编辑:我可能想补充一点,如果我在 xml 中分配边距值,它确实有效。

最佳答案

我认为问题在于,当您尝试添加边距时布局参数尚未设置,为什么不尝试在您的 ResultsView 类中覆盖此方法:

       protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
MarginLayoutParams margins = MarginLayoutParams.class.cast(getLayoutParams());
int margin = 15;
margins.topMargin = margin;
margins.bottomMargin = margin;
margins.leftMargin = margin;
margins.rightMargin = margin;
setLayoutParams(margins);
};

并删除您在构造函数中的代码,这样将应用边距,直到我们确定我们有 View 的布局对象,希望这有助于

问候!

关于android - 自定义 TextView 的边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17755212/

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