การใช้งาน TextView และคลาสย่อยตรง/ทางอ้อมทั้งหมดด้วยการสนับสนุนแบบฟอนต์ Roboto รวมถึงแผ่นหุ่นยนต์ใหม่ล่าสุดและแบบอักษรโมโน Roboto Mono
แบบอักษรที่รองรับ:
โครงการนี้เลิกใช้งานในการใช้งานดั้งเดิมที่แนะนำใน Android O.
ห้องสมุดนี้เข้ากันได้กับ API 14 (Android 4.0)
Gradle:
compile ' com.github.johnkil.android-robototextview:robototextview:4.0.0 'Maven:
< dependency >
< groupId >com.github.johnkil.android-robototextview</ groupId >
< artifactId >robototextview</ artifactId >
< version >4.0.0</ version >
< type >aar</ type >
</ dependency > ในการตั้งค่าตัวอักษรคุณต้องระบุพารามิเตอร์ robotoTypeface :
< com .devspark.robototextview.widget.RobotoTextView
xmlns : android = " http://schemas.android.com/apk/res/android "
xmlns : app = " http://schemas.android.com/apk/res-auto "
android : layout_width = " wrap_content "
android : layout_height = " wrap_content "
app : robotoTypeface = " roboto_light_italic " /> หรือระบุชุดของพารามิเตอร์ robotoFontFamily , robotoTextWeight และ robotoTextStyle :
< com .devspark.robototextview.widget.RobotoTextView
xmlns : android = " http://schemas.android.com/apk/res/android "
xmlns : app = " http://schemas.android.com/apk/res-auto "
android : layout_width = " wrap_content "
android : layout_height = " wrap_content "
app : robotoFontFamily = " roboto "
app : robotoTextWeight = " light "
app : robotoTextStyle = " italic " />ตั้งค่าตัวอักษรในรหัส:
การใช้พารามิเตอร์ typeface :
RobotoTextView textView = new RobotoTextView ( context );
RobotoTypefaces . setUpTypeface (
textView ,
RobotoTypefaces . TYPEFACE_ROBOTO_LIGHT_ITALIC ); การใช้พารามิเตอร์ fontFamily , textWeight และ textStyle :
RobotoTextView textView = new RobotoTextView ( context );
RobotoTypefaces . setUpTypeface (
textView ,
RobotoTypefaces . FONT_FAMILY_ROBOTO ,
RobotoTypefaces . TEXT_WEIGHT_LIGHT ,
RobotoTypefaces . TEXT_STYLE_ITALIC ); การใช้พารามิเตอร์ typeface :
RobotoTypefaceSpan span = new RobotoTypefaceSpan (
context ,
RobotoTypefaces . TYPEFACE_ROBOTO_LIGHT_ITALIC );
Spannable spannable = new SpannableString ( "text" );
spannable . setSpan ( span , 0 , 1 , Spannable . SPAN_EXCLUSIVE_EXCLUSIVE ); การใช้พารามิเตอร์ fontFamily , textWeight และ textStyle :
RobotoTypefaceSpan span = new RobotoTypefaceSpan (
context ,
RobotoTypefaces . FONT_FAMILY_ROBOTO ,
RobotoTypefaces . TEXT_WEIGHT_LIGHT ,
RobotoTypefaces . TEXT_STYLE_ITALIC );
Spannable spannable = new SpannableString ( "text" );
spannable . setSpan ( span , 0 , 1 , Spannable . SPAN_EXCLUSIVE_EXCLUSIVE ); ในการใช้แบบอักษร Roboto สำหรับทัศนคติแบบดั้งเดิม (เช่นการประดิษฐ์ตัวอักษร) คุณต้องแนบ inflater ในคลาส Activity ของคุณในวิธี #onCreate()
@ Override
protected void onCreate ( @ Nullable Bundle savedInstanceState ) {
RobotoInflater . attach ( this );
super . onCreate ( savedInstanceState );
}และระบุตัวอักษรใน XML:
< TextView
xmlns : android = " http://schemas.android.com/apk/res/android "
xmlns : app = " http://schemas.android.com/apk/res-auto "
android : layout_width = " wrap_content "
android : layout_height = " wrap_content "
app : robotoTypeface = " roboto_light_italic "
tools : ignore = " MissingPrefix " /> หมายเหตุ: IDE ที่ได้รับความนิยม (Android Studio, Intellij) น่าจะทำเครื่องหมายว่านี่เป็นข้อผิดพลาดแม้จะถูกต้อง คุณอาจต้องการเพิ่ม tools:ignore="MissingPrefix" ในมุมมองของตัวเองหรือ ViewGroup ผู้ปกครองเพื่อหลีกเลี่ยงสิ่งนี้ คุณจะต้องเพิ่มเนมสเปซเครื่องมือเพื่อให้สามารถเข้าถึงแอตทริบิวต์ "ละเว้น" นี้ได้ xmlns:tools=" http://schemas.android.com/tools" ดู https://code.google.com/p/android/issues/detail?id=65176
หากคุณตั้งใจจะใช้ไม่ใช่แบบอักษรทั้งหมดตัวอักษรพิเศษสามารถลบออกได้
android . applicationVariants . all{ variant ->
variant . mergeAssets . doLast {
File fonts = file( " $v ariant . mergeAssets . outputDir /fonts " )
if (fonts . exists()) {
for ( File file : fonts . listFiles()) {
if (file . getName() . contains( " RobotoSlab " )) {
println ( " delete " + file . getName() + " font " )
file . delete()
}
}
}
}
} Copyright 2014 Evgeny Shishkin
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.