【BottomBar】Androidのクールなボトム切り替え効果V 20
8161 ワード
もし本文があなたを助けるならば、私は光栄に存じません.もしあなたの时間を浪費したら、私は深く申し訳ありません.最も簡単なセリフで私のような人を助けてほしい.もし何か間違いがあったら、必ず指摘してください.みんなを誤解しないように、私を誤解しないように.本文は:www.jianshu.com/users/320 f 9...ご注目ありがとうございます.
プロジェクトアドレスはgithubです.com/roughike/Bo...新しいバージョンは古いバージョンと使い方の違いが大きいので書き直します.
注:このライブラリの最低サポートバージョンはapi 11です.
効果図を表示:
とてもクールで、木がありますか?コードを書くのも難しくありません.コードに従って2枚目の図の効果を実現します.
アイコンは完全に不透明で、純黒、24 dpで、塗りつぶしていない必要があります.
パイロットバッグ、Gradleにこれを追加:
2枚目の図を実装するには、次の手順に従います. res/xml/bottombarを作成menu.xml; layout/activity_main.xmlではBottomBarを設定します. Activityでクリック後の操作を設定します.
1.res/xml/bottombar_を作成するmenu.xml
2.layout/activity_main.xmlでのBottomBarの設定
3.Activityでクリック後の操作を設定する
これで,最も基本的な表示が実現される.パッケージ運転すると、2枚目の図の効果が見えます.
他にもいくつかの機能があります
スクロール非表示、つまり最初の図の効果を設定します.
CoordinatorLayoutとNestedScrollViewレイアウトを使用しました.残りの使い方は同じです.
フラットパネルモードの設定
タブレットモードは第3図の様子です.
属性の詳細
###BottomBarのプロパティ:
bb_tabXmlResource:res/xml/ディレクトリの下でラベルのxmlリソースIDを設定します.bb_tabletMode:フラットパネルモードかどうか.true:はい;false:いいえ.bb_behavior:(3つのモード)shifting:選択したラベルは他のより広いです.shy:BottombarをCoordinatorlayoutに置くと自動的にスクロールに隠れます!(特定のレイアウトが必要)underNavbar:通常モード(デフォルト).bb_InActiveTabAlpha:選択されていないときのラベルの透明度、iconとtitilesが役立ちます.(値:0-1)bb_ActiveTabAlpha:選択したときのラベルの透明度は、前のものに対応します.(値:0-1)bb_InActiveTabColor:選択していないときのラベルの色、iconとtitilesが役に立ちます.bb_ActiveTabColor:選択したときのラベルの色は、1つに対応します.bb_badgeBackgroundColor:Badgesの背景色を設定すると、右上に数字が表示されます.bb_badgesHideWhenActive:小さな赤い点が非表示かどうか、デフォルトはtrue非表示です.右上に数字が表示されているものです.bb_titleTextAppearance:styleを使用して、サイズ、太さなど、カスタムフォーマットを再設定します.bb_titleTypeFace:カスタムフォントを設定します.例:app:bb_titleTypeFace="fonts/MySuperDuperFont.ttf". フォントをsrc/main/assets/fonts/MySuperDuperFontに配置します.ttfパスではfonts/MySuperDuperFontと書くだけです.ttfでいいです.自動的に充填されます.bb_showShadow:シャドウを表示または非表示にするかどうかを制御します.マスクと同様に、デフォルトはtrueです.
#### Tabs
InActiveColor:選択されていない場合、iconとtitleに作用するラベルの色.ActiveColor:選択された場合、ラベルの色はiconとtitleに作用し、上に対応します.barColorWhenSelected:このラベルが選択されると、BottomBar全体の背景色が表示されます.badgeBackgroundColor:Badgesの背景色を設定すると、右上に数字が表示されます.badgeHidesWhenActive:このタブを選択したときにバッジを非表示にするかどうか、デフォルトはtrueです.
***改版後のメリット:1.APIはより簡単になります.2.すべての属性と動作はxmlで定義されます.
確かに便利になり、理解されやすくなりました.
元の項目は文章が始まったばかりの頃にすでに置かれていた.ここでは最も基本的なプロジェクト、すなわち本稿のコードを書きました.住所:github.com/Wing-Li/And…
転載先:https://juejin.im/post/5bff5a8fe51d453f321944a0
プロジェクトアドレスはgithubです.com/roughike/Bo...新しいバージョンは古いバージョンと使い方の違いが大きいので書き直します.
注:このライブラリの最低サポートバージョンはapi 11です.
効果図を表示:
とてもクールで、木がありますか?コードを書くのも難しくありません.コードに従って2枚目の図の効果を実現します.
アイコンは完全に不透明で、純黒、24 dpで、塗りつぶしていない必要があります.
パイロットバッグ、Gradleにこれを追加:
compile 'com.roughike:bottom-bar:2.3.1'
2枚目の図を実装するには、次の手順に従います.
1.res/xml/bottombar_を作成するmenu.xml
2.layout/activity_main.xmlでのBottomBarの設定
3.Activityでクリック後の操作を設定する
public class MainActivity extends AppCompatActivity {
private BottomBar bottomBar;
private BottomBarTab nearby;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bottomBar = (BottomBar) findViewById(R.id.bottomBar);
bottomBar.setOnTabSelectListener(new OnTabSelectListener() {
@Override
public void onTabSelected(@IdRes int tabId) {
if (tabId == R.id.tab_favorites) {
// id
nearby = bottomBar.getTabWithId(R.id.tab_nearby);
nearby.setBadgeCount(5);
}
}
});
bottomBar.setOnTabReselectListener(new OnTabReselectListener() {
@Override
public void onTabReSelected(@IdRes int tabId) {
if (tabId == R.id.tab_favorites) {
// , 。 。
nearby.removeBadge();
}
}
});
bottomBar.setTabSelectionInterceptor(new TabSelectionInterceptor() {
@Override
public boolean shouldInterceptTabSelection(@IdRes int oldTabId, @IdRes int newTabId) {
//
if (newTabId == R.id.tab_restaurants ) {
// ......
// true 。 : , 。
return true;
}
return false;
}
});
}
}
これで,最も基本的な表示が実現される.パッケージ運転すると、2枚目の図の効果が見えます.
他にもいくつかの機能があります
スクロール非表示、つまり最初の図の効果を設定します.
CoordinatorLayoutとNestedScrollViewレイアウトを使用しました.残りの使い方は同じです.
フラットパネルモードの設定
タブレットモードは第3図の様子です.
属性の詳細
###BottomBarのプロパティ:
bb_tabXmlResource:res/xml/ディレクトリの下でラベルのxmlリソースIDを設定します.bb_tabletMode:フラットパネルモードかどうか.true:はい;false:いいえ.bb_behavior:(3つのモード)shifting:選択したラベルは他のより広いです.shy:BottombarをCoordinatorlayoutに置くと自動的にスクロールに隠れます!(特定のレイアウトが必要)underNavbar:通常モード(デフォルト).bb_InActiveTabAlpha:選択されていないときのラベルの透明度、iconとtitilesが役立ちます.(値:0-1)bb_ActiveTabAlpha:選択したときのラベルの透明度は、前のものに対応します.(値:0-1)bb_InActiveTabColor:選択していないときのラベルの色、iconとtitilesが役に立ちます.bb_ActiveTabColor:選択したときのラベルの色は、1つに対応します.bb_badgeBackgroundColor:Badgesの背景色を設定すると、右上に数字が表示されます.bb_badgesHideWhenActive:小さな赤い点が非表示かどうか、デフォルトはtrue非表示です.右上に数字が表示されているものです.bb_titleTextAppearance:styleを使用して、サイズ、太さなど、カスタムフォーマットを再設定します.bb_titleTypeFace:カスタムフォントを設定します.例:app:bb_titleTypeFace="fonts/MySuperDuperFont.ttf". フォントをsrc/main/assets/fonts/MySuperDuperFontに配置します.ttfパスではfonts/MySuperDuperFontと書くだけです.ttfでいいです.自動的に充填されます.bb_showShadow:シャドウを表示または非表示にするかどうかを制御します.マスクと同様に、デフォルトはtrueです.
#### Tabs
InActiveColor:選択されていない場合、iconとtitleに作用するラベルの色.ActiveColor:選択された場合、ラベルの色はiconとtitleに作用し、上に対応します.barColorWhenSelected:このラベルが選択されると、BottomBar全体の背景色が表示されます.badgeBackgroundColor:Badgesの背景色を設定すると、右上に数字が表示されます.badgeHidesWhenActive:このタブを選択したときにバッジを非表示にするかどうか、デフォルトはtrueです.
***改版後のメリット:1.APIはより簡単になります.2.すべての属性と動作はxmlで定義されます.
確かに便利になり、理解されやすくなりました.
元の項目は文章が始まったばかりの頃にすでに置かれていた.ここでは最も基本的なプロジェクト、すなわち本稿のコードを書きました.住所:github.com/Wing-Li/And…
転載先:https://juejin.im/post/5bff5a8fe51d453f321944a0