1

有没有办法在它的onmeasure(或onlayout,ondraw,我实际上不知道把它放在哪里:)

我有这段代码,它应该缩小从 LinearLayout 继承的自定义布局中包含的 textview 并向其添加 onclicklistener 。问题是,这根本不起作用。代码执行,但没有明显效果。我还尝试在树中的所有视图上调用 invalidate :)

cardContent 是附加到覆盖的 LinearLayout 的 TextView。我不知何故觉得这完全是错误的,所以请帮助我。我不太了解在 Android 上编写自定义布局。谢谢!

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    if(cardContent.getLineCount() > 10){
        this.setOnClickListener(this);
        expandIcon.setVisibility(VISIBLE);
        cardContent.setMaxLines(6);

        expanded = false;
    }
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);


}
4

1 回答 1

1

你需要先打电话super.onMeasure(widthMeasureSpec, heightMeasureSpec),然后再打电话 TextView.getLineCount()。否则它总是返回 0。

于 2013-08-26T23:24:24.887 回答