我尝试使用textview的自动调整功能。我只是从谷歌文档复制,但它没有渲染布局。通货膨胀存在错误。
我的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="200dp"
android:text="@string/title_home"
android:autoSizeTextType="uniform"
android:autoSizePresetSizes="@array/autosize_text_sizes" />
</LinearLayout>
arrays.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="autosize_text_sizes">
<item>10sp</item>
<item>12sp</item>
<item>20sp</item>
<item>40sp</item>
<item>100sp</item>
</array>
</resources>
渲染错误
呈现期间引发异常:二进制XML文件行#-1:错误 在。膨胀类java.lang.UnsupportedOperationException android.content.res.Resources_Delegate.obtainTypedArray(Resources_Delegate.java:531) 在android.content.res.Resources.obtainTypedArray(Resources.java:615) 在android.widget.TextView。(TextView.java:1233)at android.widget.TextView。(TextView.java:832)at android.widget.TextView。(TextView.java:828)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在android.view.LayoutInflater.createView(LayoutInflater.java:647) 在android.view.BridgeInflater.onCreateView(BridgeInflater.java:166) 在android.view.LayoutInflater.onCreateView(LayoutInflater.java:720) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788) 在 android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:225) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) 在 android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:863) 在 android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72) 在android.view.LayoutInflater.rInflate(LayoutInflater.java:837)at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 在android.view.LayoutInflater.inflate(LayoutInflater.java:515)at android.view.LayoutInflater.inflate(LayoutInflater.java:394)at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:325) 在com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:384) 在 com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:193) 在 com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:547) 在 com.android.tools.idea.rendering.RenderTask.lambda $ $膨胀3(RenderTask.java:681) 在java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:617) 在java.lang.Thread.run(Thread.java:745)
注意:自动调整功能在没有autoSizePresetSizes的情况下运行良好。即mintextsize和maxtextsize。什么是解决方法。 使用comiple和target sdk版本27.0.2,支持库27.0.2和android studio 3.0.1。将渲染api从最好的改为27和26,但没有奏效。