Android 了解表格布局中的方向和IconColor变化

Android 了解表格布局中的方向和IconColor变化,android,android-tablayout,Android,Android Tablayout,坦率地说,我一直在苦苦挣扎,到处都在研究这个问题,但找不到任何解决办法。请仔细看看我的问题,因为我已经做了很多研究,以找到我的答案,但没有找到一个请不要将其标记为重复或关闭此问题。看看我的代码,你就会明白我非常需要帮助 这些是我研究了很多的链接 现在我在谷歌图书馆的帮助下创建了一个幻灯片 以下是链接: 一切正常,但我现在面临的两个问题是: 1。当在大屏幕上测试或方向改变时,图标不会占据全部空间 2。选择特定选项卡时更改图标颜色的正确方法 这是我的代码,您可以看到:XML文件 <?

坦率地说,我一直在苦苦挣扎,到处都在研究这个问题,但找不到任何解决办法。请仔细看看我的问题,因为我已经做了很多研究,以找到我的答案,但没有找到一个请不要将其标记为重复或关闭此问题。看看我的代码,你就会明白我非常需要帮助

这些是我研究了很多的链接

  • 现在我在谷歌图书馆的帮助下创建了一个幻灯片 以下是链接:

    一切正常,但我现在面临的两个问题是: 1。当在大屏幕上测试或方向改变时,图标不会占据全部空间

    2。选择特定选项卡时更改图标颜色的正确方法

    这是我的代码,您可以看到:XML文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    tools:context="in.pinelane.myhovi.MainActivity">
    
    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:theme="@style/AppTheme.AppBarOverlay">
    
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary"
        app:popupTheme="@style/AppTheme.PopUpOverLay"/>
    
    <in.pinelane.myhovi.SlidingTabLayout
        android:id="@+id/tabs"
        app:tabMaxWidth="0dp"
        app:tabGravity="fill"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    
    </android.support.design.widget.AppBarLayout>
    
    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:id="@+id/pager"
        android:layout_height="0dp"
        android:layout_weight="1"/>
    
    没有执行mtab.setTabGravity或mtab.setOnTabSelectedListener的选项,因此我可以分别实现onTabSelected和onTabUnselected方法

    请看看我的问题,并给它一个解决办法!我会感谢你的

    以下是我的应用程序的屏幕截图:

    图标没有占用屏幕上的全部空间

    当在选项卡上选择当前图标时,图标颜色不会改变

    编辑

    我也使用TabLayout做了一个项目,但问题仍然存在。我想分享这些问题的照片


    user insteadwell非常感谢您的考虑,但问题仍然存在。我带着密码。你想看看吗?颜色问题就在那里。onTabSelected和onTabUnselected工作不正常,方向也存在问题:(可能你正在使用的库中有bug,这就是为什么我告诉你谷歌官方小部件的原因。如果你愿意,我可以为你准备演示。我在我的答案中添加了一个编辑。请看一下!@V-rundPuro-hit你能给我一个演示吗!那太好了,没有人真正回答我的问题,这真的非常重要。)nt为我!请提供演示,记住我的问题。非常感谢
    public class MainActivity extends AppCompatActivity {
    
    private Toolbar toolbar;
    private SlidingTabLayout mTabs;
    private ViewPager viewPager;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        //getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    
        viewPager = (ViewPager) findViewById(R.id.pager);
        viewPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
        mTabs = (SlidingTabLayout) findViewById(R.id.tabs);
        mTabs.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
        mTabs.setSelectedIndicatorColors(getResources().getColor(R.color.colorAccent));
        mTabs.setCustomTabView(R.layout.custom_tab, 0);
        mTabs.setViewPager(viewPager);
    
    }
    
    
    //creating view pager for the content to be put in
    class MyPagerAdapter extends FragmentStatePagerAdapter{
    
        int icons[] = {R.drawable.home,R.drawable.plusmath,R.drawable.videocall,R.drawable.downloads,
        R.drawable.groupwhite,R.drawable.addshoppingcart};
    
        public MyPagerAdapter(FragmentManager fm) {
            super(fm);
    
    
        }
    
        @Override
        public Fragment getItem(int position) {
            HomeFragment homeFragment = new HomeFragment();
            return homeFragment;
        }
    
        @Override
        public CharSequence getPageTitle(int position) {
            Drawable image = getResources().getDrawable(icons[position]);
            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;
        }
    
        @Override
        public int getCount() {
            return 6;
        }
    
    } }