TypefaceHelper
1.0.0
書体をAndroidのさまざまなテキストビューに注入するヘルパーオブジェクト。
テキストビュー(TextView、Button、RadioButton、Edittextなどなど)にさまざまなカスタム書体資産を使用できますが、アプリの全体的な画面に書体を適用するスタイルのテーマとして書体を設定する方法はありません。
このライブラリは簡単な方法でそれを行うのに役立ちます:)
また、資産リソースから書体を作成するとメモリリークが発生するという深刻なバグもあります(詳細については、このリンクを参照)、このライブラリはこの問題にも注意してください。
まず、書体をasset Directoryに入れます。
アプリケーションクラスでは、ヘルパーオブジェクトのライフサイクルに注意してください。
public class MyApp extends Application {
@ Override
public void onCreate () {
super . onCreate ();
TypefaceHelper . initialize ( this );
}
@ Override
public void onTerminate () {
TypefaceHelper . destroy ();
super . onTerminate ();
}
}そして、あなたのアクティビティで、あなたがあなたの書体をテキストビューに設定したいなら、
public class MyActivity extends Activity {
@ Override
public void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState );
setContentView ( R . layout . activity_main );
TextView hello = ( TextView ) findViewById ( R . id . hello_world );
TypefaceHelper . getInstance (). setTypeface ( hello , "font/font_file.ttf" );
}
}このような特定のビューグループに属するすべてのテキストビューに書体を設定することもできます。
public class MyActivity extends Activity {
@ Override
public void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState );
setContentView ( R . layout . activity_main );
LinearLayout container = ( LinearLayout ) findViewById ( R . id . text_container );
TypefaceHelper . getInstance (). setTypeface ( container , "font/font_file.ttf" );
}
}アクティビティレイアウトの下にあるすべてのテキストビューに書体を適用する場合は、
public class MyActivity extends Activity {
@ Override
public void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState );
setContentView ( TypefaceHelper . getInstance (). setTypeface ( this , R . layout . activity_main , "font/font_file.ttf" ));
}
}素晴らしくて簡単です!
このようなウィンドウ全体に書体を適用できます。
public class MyActivity extends Activity {
@ Override
public void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState );
setContentView ( R . layout . layout_activity_main );
TypefaceHelper . getInstance (). setTypeface ( this , "font/font_file.ttf" );
}
}そして...フォント名を文字列リソースIDとして渡すこともできます。
public class MyActivity extends Activity {
@ Override
public void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState );
setContentView ( R . layout . layout_activity_main );
TypefaceHelper . getInstance (). setTypeface ( this , R . string . font_primary );
}
}Gradle:
compile 'com.drivemode:TypefaceHelper:1.2.0@aar'
Copyright (C) 2014 Drivemode, Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
サンプルアプリは、OFLの下に次のフォントを使用します。