我是Android新手,我需要在我的应用程序的右上角显示计数。
主页面有网格视图。这是页面的xml代码。
我可以从代码中显示圆圈吗?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/lay_main"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#8c5630"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<GridView
android:id="@+id/main_gridview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/adView"
android:layout_margin="5dp"
android:layout_marginTop="4dp"
android:horizontalSpacing="10dp"
android:numColumns="2"
android:verticalSpacing="10dp" >
</GridView>
<com.google.ads.AdView
android:id="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="center"
ads:adSize="BANNER"
ads:adUnitId="@string/admob_id"
ads:loadAdOnCreate="true"
ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID" />
</RelativeLayout>
</LinearLayout>
答案 0 :(得分:6)
您可以使用textview + shape进行布局,如下所示:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<ImageView
android:id="@+id/family_hub_imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/family_hub_icon"/>
<TextView
android:id="@+id/family_hub_tv_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/red_circle"
android:padding="3dp"
android:text="20"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold"/>
</RelativeLayout>
red_circle.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/red"/>
<stroke
android:width="1dp"
android:color="@color/white"/>
</shape>
答案 1 :(得分:1)
是的,你可以展示它。在你要绘制圆圈的位置ImageView
。现在,在您的Java代码中,在初始化ImageView
之后放置这些行。
GradientDrawable gd = new GradientDrawable();
gd.setShape(GradientDrawable.OVAL);
gd.setColor(Color.rgb(134, 135, 255));
gd.setCornerRadius(5);
gd.setStroke(4, Color.rgb(255, 255, 255));
yourImageView.setImageDrawable(gd);