android 8.0 textViewフォント特性の自動縮小

2042 ワード

Android政府はAndroid 8.0(api 26)でTextViewに対して新しい特性の自動収縮フォントを発表した.この特性は多言語の開発者にとっても有用で、ドイツやロシアなどの国の文字は長いが、これらの国の文字は普通の国の文字の数の2倍程度になる可能性がある.これはtextViewが大文字と小文字が死んだ場合や文字数が長すぎる場合、表示されない場合があり、小さな画面の携帯電話がさらに大きくなり、このようなニーズに応じて自動的にフォントを縮小することが役に立ちます.
使用
  • 新しいプロパティapiレベルを26に更新してください.そうしないと
  • は使用できません.
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    
  • xml

  • app:autoSizeTextType="uniform"使用特性app:autoSizeMinTextSize="12 sp"最小のsize app:autoSizeMaxTextSize="100 sp"最大size app:autoSizeStepGranularity="2 sp"毎回どれだけ縮小
    
    
    
      
    
    
    
    

    xmlでの設定でフォントを自動的に縮小する特性が使われ、フォントが制限を超えるとtextViewは設定したgranularity値に基づいて縮小されますが、AppCompatTextViewの互換ビューを使用することに注意してください.これはapiレベルの低いシステムでは特性が無効になるためです.公式列はTextViewでインスタンスを行い、実際に使用するとエラー警告が表示されます.
    xmlに加えて、コードでこれらの特性を設定することもできます.
    text.setAutoSizeTextTypeUniformWithConfiguration(2, 28, 2, TypedValue.COMPLEX_UNIT_DIP);
    

    またarrays xmlでプリセットサイズを設定して階段スケールを行うこともできます
    
      
        10sp
        12sp
        20sp
        40sp
        100sp
      
    
    
    
    
    

    詳細は公式の説明でご覧いただけます