問題タブ [android-tablayout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2314 参照

android - Design Support Library の更新後に TabLayout が見つからない

昨日、デザイン サポート ライブラリをバージョン 22.2.0 から 22.2.1 に更新しましたTabLayout。バージョン 22.2.0 では、TabLayout は正常に機能していましたが、携帯電話を回転させない限り、フラグに表示されません (その後表示されます)。コードを変更していません。動作しなくなっただけです。

スニペットは次のとおりです。

私はButterKnifeを使用していますが、以前のバージョンではButterKnifeで動作していたので、違いはないと思います.

ありがとう、そして助けていただければ幸いです!

0 投票する
4 に答える
12720 参照

android - AndroidでTabLayoutの下の影を削除します

通常のレイアウトで定義されている(ツールバーやアクションバーの一部としてではなく)TabLayoutを使用しているときに、タブの下の影を削除しようとしています。

テーマの設定

また

うまくいきませんでした。

また、標高を 0 に設定しても効果はありませんでした。

0 投票する
7 に答える
28463 参照

android - TabLayout のタブが表示されない

フラグメントをホストするメイン アクティビティがあり、次に、TabLayout (ViewPager を使用) をホストします。タブバーは表示されますが、タブ自体は表示されません。

ホストフラグメントを表示するためのメインアクティビティのコードは次のとおりです。

これは、BMITabsFragment (sa) である TabLayout をホストするフラグメントです。

これは私の FragmentPagerAdapter です:

これが fragment_bmitabs.xml です。

私のコードは、 https://github.com/codepath/android_guides/wiki/Google-Play-Style-Tabs-using-TabLayoutの Google Android ガイドに基づいています。

ここで何が欠けていますか?

注: AppCompatActivity とサポート ライブラリ v4 & v7 および com:android:support:design ライブラリを使用しています

0 投票する
0 に答える
1044 参照

android - FragmentPagerAdapter での TabLayout のサポートには、プログラムによって追加された変更されたタブの表示に問題があります

編集:うわー、一日中問題を修正できませんでしたが、送信した直後に、質問に追加するコードを見つけようとして、問題を見つけて修正しました。質問を変えます。

修正:viewPager.setAdapter(adapter); tabLayout.setupWithViewPager(viewPager);

新しい質問: ViewPager がタブで正しく機能しているのに、以前に表示されていたのと同じコンテンツを表示するという問題が発生しています。タブA、B、CのコンテンツがタブX、Y、Zに表示されるのですが、別のコンテンツにしたいです。すべてのタブが同じフラグメントの新しいインスタンスを使用することに注意してください。

古い質問:

TabLayoutかなりうまく機能しているように見えるサポートライブラリがあります。アプリの読み込み時に、必要なタブを読み込み、スクロールを許可し、正しいフラグメントに変更します。

私は制限下に置かれ、現在の実装を変更してタブを切り替え、ユーザーの操作に基づいて新しいタブに置き換える必要があります。私がこれをしたとき、私は問題に遭遇し始めました。

起動時 3 つのタブ (A、B、C) は、同じフラグメント (単なるリスト) の新しいインスタンスをロードするように設定されています。これらは表示され、3 つのタブはすべてスクロール可能で、正しい情報が表示されます。

ユーザー スワップ タブ インタラクション - 問題 点 3 つのタブが削除され、2 つのタブ (X、Y) に置き換えられました。それらは、上から同じ Fragment の新しいインスタンスに設定されます。それらはスクロール可能ですが、ここから問題が始まります。

  1. まだ 3 つのタブが表示されています (A、B、C)
  2. 最初の 2 つのタブ (A -> X、B -> Y) の間しかスクロールできません。
  3. 4 つ以上のタブ (W、X、Y、Z) を追加すると、3 つのタブが表示されますが、最後のタブにスクロールするとアプリがクラッシュします。

ユーザーがクリックすると、ライブラリの SearchView Here がアプリでいつでも発生する可能性があります。すでに表示されているタブに追加タブを追加します。これは常に機能し、上記の Fragment の新しいインスタンスを追加します。

通常の流れ: 1. SearchView をクリックすると、現在のタブの最後に新しいタブ (検索) が追加されます。以前のタブはすべて同じままです。2. SearchView を閉じると、すべてのタブが削除され、以前のタブのみが追加されます。これは期待どおりに機能します。

ユーザーがタブの交換操作を実行してから SearchView フローをクリックした場合 1. 以前のタブ (つまり、A、B、C) が削除され、新しいタブ (つまり、X、Y) に置き換えられます 2. 新しいタブが最後に追加されます新しいタブの (検索)。3. SearchView を閉じると、すべてのタブが削除され、新しいタブ (X、Y) のみが追加されます。これは期待どおりに機能します。

SearchViewをクリックした場合にのみ、タブが正しく表示されることに注意してください。そうしないと、ユーザーのスワップタブ操作で間違ったタブが表示されます。

デバッグ中に、これが発生することがわかりました。これは、SearchView をクリックしたときにのみ、何らかの形でアダプターのgetPageTitle()メソッドがトリガーされるためです。ユーザーがスワップタブの操作を実行すると、getPageTitle()メソッドが呼び出されず、問題が発生します。

私の唯一の問題は、この問題の解決策を見つけることができないということです。ここには同様の問題について多くの質問がありますが、どれも機能していないようです。

私が試したこと

  1. adapter.notifyDataSetChanged();スワップタブの相互作用の後
  2. setAdapter(null); setAdapter(adapter);
  3. return POSITION_NONE;
  4. forceLayout()invalidate()、など...

現在は何も機能していないようですが、解決策をgetPageTitle()呼び出す必要があるようです。そうすれば、私はうまくいくはずです。唯一の問題は、これまで毎回失敗したことです

コード

FragmentPagerAdapter

0 投票する
13 に答える
139156 参照

android - TabLayout を使用するときにタブの背景色を変更するにはどうすればよいですか?

これはメインアクティビティの私のコードです

そして、これはXMLの私のコードです

タブ選択時の背景色を変更したい