GitHub控件之BadgeView(数字提醒)
android-badgeview源代碼下載路徑:https://github.com/jgilfelt/android-viewbadger
使用方法:直接把這個類考到自己工程里就可以了。
效果如上圖
? 看一下badgeview中常用的方法:
1. setTargetView(View) --> 設置哪個控件顯示數字提醒,參數就是一個view對象
2. setBadgeCount(int) --> 設置提醒的數字
3. setBadgeGravity(Gravity) --> 設置badgeview的顯示位置
4. setBackgroundColor() --> 設置badgeview的背景色,當然還可以設置背景圖片
5. setBackgroundResource() --> 設置背景圖片
6. setTypeface() --> 設置顯示的字體
7. setShadowLayer() --> 設置字體的陰影
實際上BadgeView這個類就是繼承TextView的。很多TextView中設置字體的方法都適用于BadgeView。
public class MainActivity extends Activity {private TextView textView;private Button btn;private LinearLayout layout;private View imageView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView = (TextView) findViewById(R.id.tv1);btn = (Button) findViewById(R.id.btn1);imageView = findViewById(R.id.imageView1);layout = (LinearLayout) findViewById(R.id.layout1);BadgeView badgeView = new com.jauker.widget.BadgeView(this);badgeView.setTargetView(textView);badgeView.setBadgeCount(3);badgeView = new BadgeView(this);badgeView.setTargetView(btn);badgeView.setBadgeCount(-7);//imageView必須是view形式才可以badgeView = new BadgeView(this);badgeView.setTargetView(imageView);badgeView.setBadgeCount(110);badgeView = new BadgeView(this);badgeView.setTargetView(layout);badgeView.setBackground(12, Color.parseColor("#9b2eef"));badgeView.setText("提示");badgeView = new BadgeView(this);badgeView.setTargetView(layout);badgeView.setBadgeGravity(Gravity.BOTTOM | Gravity.CENTER);badgeView.setBadgeCount(4);badgeView = new BadgeView(this);badgeView.setTargetView(layout);badgeView.setBadgeGravity(Gravity.CENTER);badgeView.setBackgroundColor(Color.RED);badgeView.setBadgeMargin(-1);badgeView.setTextColor(Color.BLACK);badgeView.setBadgeCount(10);badgeView = new BadgeView(this);badgeView.setTargetView(layout);badgeView.setBadgeGravity(Gravity.LEFT | Gravity.CENTER);badgeView.setBackground(20, Color.RED);badgeView.setTextColor(Color.BLACK);badgeView.setBadgeCount(-6);badgeView = new BadgeView(this);badgeView.setTargetView(layout);badgeView.setBadgeGravity(Gravity.TOP | Gravity.LEFT);badgeView.setTypeface(Typeface.create(Typeface.SANS_SERIF,Typeface.ITALIC));badgeView.setShadowLayer(2, -1, -1, Color.GREEN);badgeView.setBadgeCount(2);//badgeView.setVisibility(View.GONE);}}
布局文件:
<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"android:gravity="center_horizontal"android:orientation="vertical"tools:context="com.badgeviewtest.MainActivity" ><TextViewandroid:id="@+id/tv1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:text="@string/hello_world" /><Buttonandroid:id="@+id/btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:text="Button" /><ImageViewandroid:id="@+id/imageView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:src="@drawable/ic_launcher" /><LinearLayoutandroid:id="@+id/layout1"android:layout_width="100dp"android:layout_height="100dp"android:layout_marginTop="20dp"android:background="#E0EEE0"android:orientation="vertical" ></LinearLayout></LinearLayout>
GitHub源碼的效果圖
更多功能可以分析源碼學習
android-badgeview源代碼下載路徑:https://github.com/jgilfelt/android-viewbadger
image1=findViewById(R.id.ic_image);//加圖標badge = new BadgeView(this, image1);badge.setText("123");badge.show(); 這是源碼中demo的一個使用例子。
注意他的用法。構造函數和show方法。和之前不同。
ImageView必須是view類型才可以加角標、、、
總結
以上是生活随笔為你收集整理的GitHub控件之BadgeView(数字提醒)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用ViewPager实现左右循环滑动图
- 下一篇: 自定义ImageView 实现双击放大缩