我使用textSwither进行隐藏/以这种方式显示文本的一部分:
txtDescription.setInAnimation(in);
txtDescription.setOutAnimation(out);
txtDescription.setFactory(new ViewSwitcher.ViewFactory() {
@Override
public View makeView() {
TextView textView = new TextView(ShopContentDetailActivity.this);
textView.setTextColor(getResources().getColor(R.color.NightDark));
return textView;
}
});
并将此方法称为更改文本:
private void changeDescription() {
if (displayShort)
txtDescription.setText(Html.fromHtml(shortDescription));
else txtDescription.setText(fullDescription);
displayShort = !displayShort;
}
我的问题是当用户触摸textSwitcher显示文本并再次触摸以隐藏它时,textSwitcher的父视图(线性布局)的高度保持为显示文本并且不改变其高度。
如何在文本更改时更新父视图? (触摸显示全文时可以正常使用)
答案 0 :(得分:1)
我以这种方式解决了我的问题:(我认为TextSwutcher将TextViews的可见性更改为 INVISIBLE 而不是 GONE 然后我使用此trck)
private void changeDescription() {
if (displayShort) {
txtDescription.setCurrentText(null); // this line change invisible textView visible but without text and make it height 0 and then set the second textView text
txtDescription.setText(Html.fromHtml(shortDescription));
} else txtDescription.setText(shopContent.getDescription());
displayShort = !displayShort;
}
但是有一个问题对我的情况来说并不那么重要:当你隐藏文本的一部分时它会闪烁 如果我解决它,我会更新我的答案。