多语言展示
当前在线:814今日阅读:183今日分享:45

【Android】Textview内容展示效果的制作

Textview展示内容不完整,这个问题大家估计经常遇到。为了美观,为了不影响应用的实用性。点击展开显示更多文字,这个效果就很用用处。
工具/原料

编译工具:Eclipse

方法/步骤
1

直接用例子说话例子项目的结构

2

布局结构图

3

页面布局代码

4

这个布局的关键在于

5

页面代码的结构图

6

页面代码如下public class MainActivity extends Activity implements OnClickListener {private static final int VIDEO_CONTENT_DESC_MAX_LINE = 3;// 默认展示最大行数3行 private static final int SHOW_CONTENT_NONE_STATE = 0;// 扩充 private static final int SHRINK_UP_STATE = 1;// 收起状态 private static final int SPREAD_STATE = 2;// 展开状态 private static int mState = SHRINK_UP_STATE;//默认收起状态private TextView mContentText;// 展示文本内容 private RelativeLayout mShowMore;// 展示更多 private ImageView mImageSpread;// 展开 private ImageView mImageShrinkUp;// 收起 @Override protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  initView();  initData(); }private void initView() {    mContentText = (TextView) findViewById(R.id.text_content);    mShowMore = (RelativeLayout) findViewById(R.id.show_more);    mImageSpread = (ImageView) findViewById(R.id.spread);    mImageShrinkUp = (ImageView) findViewById(R.id.shrink_up);    mShowMore.setOnClickListener(this); }private void initData() {    mContentText.setText(R.string.txt_info); } @Override public void onClick(View v) {  // TODO Auto-generated method stub  switch (v.getId()) {    case R.id.show_more: {     if (mState == SPREAD_STATE) {          mContentText.setMaxLines(VIDEO_CONTENT_DESC_MAX_LINE);          mContentText.requestLayout();          mImageShrinkUp.setVisibility(View.GONE);          mImageSpread.setVisibility(View.VISIBLE);          mState = SHRINK_UP_STATE;     } else if (mState == SHRINK_UP_STATE) {          mContentText.setMaxLines(Integer.MAX_VALUE);          mContentText.requestLayout();          mImageShrinkUp.setVisibility(View.VISIBLE);          mImageSpread.setVisibility(View.GONE);          mState = SPREAD_STATE;     }     break;    }  default: {   break;  }  } }}

7

关键代码最关键的代码是这一句mContentText.setMaxLines(Integer.MAX_VALUE);Integer.MAX_VALUE(广义的整数最大值,表示行高撑到最大)

注意事项
1

本步骤需要一定代码基础

2

程序代码以代码片段的形式展示

推荐信息