Есть один проект.Я обновил версию инструментов сборки, minSdkVersion и некоторые мелочи в gradle, но после синхронизации выдает ошибку типа String types not allowed (at 'font' with value 'regular').
.Так что в активах есть 2 шрифта.
В приложении они использовали customTextView
в xml.Посмотрите код ниже.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.myviews.MyTextView
android:id="@+id/tvActors"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/movie_info_titles"
custom:font="regular" />
</LinearLayout>
Ошибка в строке custom:font="regular"
.
public class MyTextView extends android.support.v7.widget.AppCompatTextView {
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.getTheme().obtainStyledAttributes(attrs,
R.styleable.MyTextView, 0, 0);
try {
init(a.getInteger(R.styleable.MyTextView_font, 1));
} finally {
a.recycle();
}
}
private void init(int font) {
switch (font) {
case 0:
setTypeface(Font.getBold());
break;
case 1:
setTypeface(Font.getRegular());
break;
default:
break;
}
}
}
А вот Font.class
public class Font {
private static Typeface tRegular;
private static Typeface tBold;
public Font(AssetManager mgr) {
if (tRegular == null) {
tRegular = Typeface.createFromAsset(mgr, "arlamu.ttf");
tBold = Typeface.createFromAsset(mgr, "arlamub.ttf");
}
}
public static Typeface getRegular() {
return tRegular;
}
public static Typeface getBold() {
return tBold;
}
}
Вот мойgradle тоже, если вам это нужно.
android {
compileSdkVersion 28
buildToolsVersion '28.0.0'
defaultConfig {
applicationId 'android'
minSdkVersion 14
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
}
}
productFlavors {
}
}
android {
lintOptions {
disable "ResourceType"
}
}
repositories {
mavenCentral()
}
dependencies {
compile 'com.android.support:appcompat-v7:28.0.0'
compile 'com.android.support:support-v4:28.0.0'
compile 'com.squareup.picasso:picasso:2.5.2'
}
Так как я могу это исправить?Я использую Android Studio 2.3.