Ich versuche, ViewPager mit TabLayout zu erstellen und Symbole anstelle von Text in TabLayout zu verwenden. Ich habe versucht, Tutorials, Antworten auf Stackoverflow, aber nichts half mein Problem zu lösen.Wie ersetzt man die Zeichenkette durch das Icon in TabLayout?
Mein TabLayout
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
style="@style/MyCustomTabLayout"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:layout_alignParentBottom="true"
android:background="@color/colorPrimary"
app:tabGravity="fill"
app:tabMode="fixed"
local:theme="@style/ViewPagerTheme"
/>
MyCustomTabLayout Stil
<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
<item name="tabTextAppearance">@style/MyCustomTextAppearance</item>
</style>
<style name="MyCustomTextAppearance" parent="TextAppearance.Design.Tab">
<item name="textAllCaps">false</item>
</style>
Mein PagerAdapter getPageTitle()
@Override
public CharSequence getPageTitle(int position) {
Drawable image = ContextCompat.getDrawable(App.getContext(), PageInfo.getByPosition(position).getIConResId());
image.setBounds(0, 0, image.getIntrinsicWidth(), image.getIntrinsicHeight());
SpannableString sb = new SpannableString(" ");
ImageSpan imageSpan = new ImageSpan(image, ImageSpan.ALIGN_BOTTOM);
sb.setSpan(imageSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return sb;
}
Ich verwende einen Stil mit Satz
<item name="textAllCaps">false</item>
aber wenn ich SpannableString sb = new SpannableString(" ");
zu so etwas wie diese
mein TabLayout spiegelt mit Kappen A
SpannableString sb = new SpannableString("a");
Wenn Sie Bilder versuchen, anstelle von Text zu verwenden, warum Sie den Text der Registerkarten einstellen? –