Androidのtablayoutを使用してスマートニュースのような画面を作りたいと考えています。
private
1 mPager = (ViewPager) findViewById(R.id.viewpager); 2 mPager.setAdapter(new NewsCategoryPageAdapter(getSupportFragmentManager(), ListnewsActivity.this, "")); 3 4 mPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 5 @Override 6 public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 7 8 } 9 10 @Override 11 public void onPageSelected(int position) { 12 util.log(TAG, "SelectTab:" + position); 13 } 14 15 @Override 16 public void onPageScrollStateChanged(int state) { 17 18 } 19 }); 20 21 TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); 22 tabLayout.setupWithViewPager(mPager); 23 24 mCategory = session.getCategoryList(); 25 LinearLayout tabsContainer = (LinearLayout) tabLayout.getChildAt(0); 26 27 for(int i = 0; i < mCategory.size(); i++) { 28 LinearLayout childLayout = (LinearLayout) tabsContainer.getChildAt(i); 29 LinearLayout tabView = (LinearLayout) childLayout.getChildAt(0).getParent(); 30 31 Drawable drawable = tabView.getBackground(); 32 33 String color = mCategory.get(i).getColor(); 34 //drawable.setColorFilter(Color.parseColor(color), PorterDuff.Mode.SRC_ATOP); 35 drawable.setTint(Color.parseColor(color)); 36 37 tabView.setBackground(drawable); 38 39 util.log(TAG, "TabHeight: " + tabView.getHeight()); 40 } 41 } 42コード
現在はViewPagerで個々のタブ色とページの切り替えは出来るようになっています。
が、タブを選択した時に未選択のタブよりも一段高くしたいと考えておりますが、どうしても出来ません。
そもそもtabLayoutをしよすると個々のタブで高さを変えるなど出来ないのでしょうか?
お知恵をお貸し頂ければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/24 23:01