美文网首页
Button 和 TextView 的宽度如何适配多语言和大字体

Button 和 TextView 的宽度如何适配多语言和大字体

作者: tiger桂 | 来源:发表于2017-04-27 17:27 被阅读0次

    Button 和 TextView,一般设置其属性

    android:layout_width="wrap_content"// 宽度根据文字长度而变化,在中文下普遍比较短,但是在其他语言下可能长一倍以上

    android:singleLine="true"// 单行

    但是,上面的设置存在一个问题,如果文字很短,则Button 的宽度也很短,视觉上不美观,因此,设计师会给一个宽度,例如 64dp,

    往往工程师会这样设置

    android:layout_width="64dp"// 宽度根据文字长度而变化

    android:singleLine="true"// 单行

    但是,这又带来一个问题,中文显示时,64dp能完全显示出文字,换成其他语言或大字体,文字就被截断了,显示不全

    为解决这个问题,可以这样设置

    android:layout_width="wrap_content"// 宽度根据文字长度而变化

    android:singleLine="true"// 单行

    android:minWidth="64dp"// 最小宽度;如果文字太短,就按照设计师给的宽度来显示

    android:maxWidth="120dp"// 最大宽度;宽度也不能无限拉大,否则可能挤得其他控件放不下了,这个值需要工程师自己估算,你的宽度如果超过这个值,就会造成界面混乱

    这样设置的好处是,文字宽度很小,或文字宽度很长,都能适配,

    但是一旦文字宽度超过 maxWidth,如果收到这样的bug,工程师找设计师修改布局(例如单行改多行),或找产品经理和翻译人员修改文字,或改成跑马灯效果,这已经不是技术能解决的问题了

    相关文章

      网友评论

          本文标题:Button 和 TextView 的宽度如何适配多语言和大字体

          本文链接:https://www.haomeiwen.com/subject/utrnzttx.html