購物車上的購買數量的小紅點,難倒了2個同事,還是kankan來解決。
1.傳統佈局法
首先看佈局,伊特includelayout 中加載一個頂部菜單欄
菜單的具體佈局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/bg_1" >
<TextView
android:id="@+id/v_title_text_score"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:padding="10dp"
android:text="首頁"
android:textColor="@color/text_title"
android:textSize="@dimen/text_size_18" />
<TextView
android:id="@+id/v_title_left_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:padding="10dp"
android:text="返回"
android:textColor="@color/text_color_2"
android:textSize="@dimen/text_size_16"
android:visibility="gone" />
<!-- <ImageView
android:id="@+id/v_title_left_img_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:padding="10dp"
android:src="@drawable/title_left_img"
android:visibility="visible" /> -->
<ImageView
android:id="@+id/v_title_left_img_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="@drawable/title_left_img"
android:adjustViewBounds="true"
android:maxWidth="35dp"
android:maxHeight="30dp"
android:layout_marginLeft="10dp"
android:scaleType="fitXY"
android:visibility="visible" />
<TextView
android:id="@+id/v_title_right_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:padding="10dp"
android:text="功能"
android:textColor="@color/text_color_2"
android:textSize="@dimen/text_size_16"
android:visibility="gone" />
<ImageView
android:id="@+id/v_title_right_cart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="14dp"
android:src="@drawable/score_cart_empty" />
<TextView
android:id="@+id/v_title_right_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="8dp"
android:layout_marginTop="2dp"
android:gravity="center_horizontal"
android:layout_alignParentTop="true"
android:background="@drawable/score_top_icon3"
android:padding="2dp"
android:textAlignment="textEnd"
android:text="9"
android:textColor="@color/white"
android:textSize="8sp"
android:visibility="gone"/>
</RelativeLayout>
java代碼
更改數量,直接setText就可以了
2 badgeview
BadgeView的用法
badgeview其實就是紅色提示消息數量的一個textview,我們可以對他的位置,顏色,動畫進行設置。
//找到要顯示小圓點的imageview
ImageView target= (ImageView )findViewById(R.id.imageview);
//聲明初始化badgeview
BadgeView bv = new BadgeView(this, target);
bv.setText(“9+”);
bv.setTextColor(Color.Yellow);
bv.setTextSize(12);
//數量當然在右上角
bv.setBadgePosition(BadgeView.POSITION_TOP_RIGHT); //默認值
bv.show();
感謝eclipse_xu提供思路
http://vote.blog.csdn.net/Article/Details?articleid=30748339