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