Android - 在onMeasure中更改布局子项

时间:2013-08-21 22:09:35

标签: android android-layout textview android-custom-view

有没有办法如何更改我的自定义视图的子项的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);


}

1 个答案:

答案 0 :(得分:1)

您需要在致电前致电super.onMeasure(widthMeasureSpec, heightMeasureSpec) TextView.getLineCount()。否则它总是返回0.