Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中设置SlidingTableOut中字符串上方的图标?_Android_Android Layout_Android Viewpager_Android Imageview_Textview - Fatal编程技术网

如何在android中设置SlidingTableOut中字符串上方的图标?

如何在android中设置SlidingTableOut中字符串上方的图标?,android,android-layout,android-viewpager,android-imageview,textview,Android,Android Layout,Android Viewpager,Android Imageview,Textview,我正在使用SlidingTableOut创建选项卡布局,问题是,它使用了spannableString,图标位于字符串的左侧,我希望实现的是图标位于字符串的顶部 以下是xml选项卡: <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content"

我正在使用SlidingTableOut创建选项卡布局,问题是,它使用了spannableString,图标位于字符串的左侧,我希望实现的是图标位于字符串的顶部

以下是xml选项卡:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="?android:selectableItemBackground"
    android:gravity="center"
    android:padding="5dp"
    android:textSize="15sp"
    android:textStyle="bold" />
在自定义碎片页面编辑器中:

   @Override
    public CharSequence getPageTitle(int position) {
        // Generate title based on item position
        //return tabTitles[position];

        Drawable image = context.getResources().getDrawable(R.drawable.ic_launcher);
        image.setBounds(0, 0, image.getIntrinsicWidth(), image.getIntrinsicHeight());
        // Replace blank spaces with image icon
        SpannableString sb = new SpannableString("   " + tabTitles[position]);
        ImageSpan imageSpan = new ImageSpan(image, ImageSpan.ALIGN_BASELINE);
        sb.setSpan(imageSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        return sb;
    }
谢谢你的帮助

我今天看了,有同样的问题。在SpannableString中添加一个换行符对我来说很有用,因此在getPageTitle中进行以下修改即可:

SpannableString sb = new SpannableString(" \n" + tabTitles[position]);
SpannableString sb = new SpannableString(" \n" + tabTitles[position]);