1. 程式人生 > >GitHub控制元件之BadgeView(數字提醒)

GitHub控制元件之BadgeView(數字提醒)

    數字提醒大家肯定都見識過。QQ、微信等app中如果有訊息或者提醒的時候,就會展現給使用者一個紅點或者帶有數字的點。前段時間微信上流行把自己的頭像換成帶有數字提醒的頭像,讓那些有強迫症的人真是抓狂。

    下面我們就看一下怎麼在自己的app中實現這種效果。

    開發者當然可以自己用相對佈局來實現這樣的效果。一個還好,但是多了呢!就會很繁瑣。GitHub上有一個開源的第三方控制元件,叫做BadgeView。使用它可以很方面的實現想要的效果。

    先來怎麼使用,簡單的三行程式碼就可以實現數字提醒:

  1. BadgeView badgeView = new com.jauker.widget.BadgeView(this);

  2. badgeView.setTargetView(textView);

  3. badgeView.setBadgeCount(3);

    看一下badgeview中常用的方法:

1. setTargetView(View) --> 設定哪個控制元件顯示數字提醒,引數就是一個view物件

2. setBadgeCount(int) --> 設定提醒的數字

3. setBadgeGravity(Gravity) --> 設定badgeview的顯示位置

4. setBackgroundColor() --> 設定badgeview的背景色,當然還可以設定背景圖片

5. setBackgroundResource() --> 設定背景圖片

6. setTypeface() --> 設定顯示的字型

7. setShadowLayer() --> 設定字型的陰影

  1. badgeView = new BadgeView(this);

  2. badgeView.setTargetView(layout);

  3. badgeView.setBackground(12, Color.parseColor("#9b2eef"));

  4. badgeView.setText("提示");

  1. badgeView = new BadgeView(this);

  2. badgeView.setTargetView(layout);

  3. badgeView.setBadgeGravity(Gravity.BOTTOM | Gravity.CENTER);

  4. badgeView.setBadgeCount(4);

  1. badgeView = new BadgeView(this);

  2. badgeView.setTargetView(layout);

  3. badgeView.setBadgeGravity(Gravity.TOP | Gravity.LEFT);

  4. badgeView.setTypeface(Typeface.create(Typeface.SANS_SERIF,

  5. Typeface.ITALIC));

  6. badgeView.setShadowLayer(2, -1, -1, Color.GREEN);

  7. badgeView.setBadgeCount(2);

    實際上BadgeView這個類就是繼承TextView的。很多TextView中設定字型的方法都適用於BadgeView。

    OK。效果實現完畢。