android 如何制作如图所示的内视图圆形
android how to make inner view circle shape as shown in Picture
我想用圆形背景实现以下形状,我试过了但是我的内部视图在相对布局中没有变成圆形我会post我的屏幕截图。
我得到了以下我创建的布局的结果
<RelativeLayout
android:id="@+id/circle_layout"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/whitecircle" >
<RelativeLayout
android:id="@+id/circle_layoutinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/rating_viewtv"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="@drawable/circletwo" >
<TextView
android:id="@+id/ratingcup_viewtv_fonts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Y"
android:textColor="@android:color/holo_purple" />
</RelativeLayout>
<TextView
android:id="@+id/rating_viewtv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:text="4.5"
android:textColor="@android:color/holo_purple" />
</RelativeLayout>
</RelativeLayout>
我的whitecircle.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="2"
android:useLevel="false">
<solid android:color="@color/white" />
</shape>
我的circletwo.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="2"
android:useLevel="false">
<solid android:color="#ff9546" />
</shape>
试试这个。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/circle_layout"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/circletwo" >
<RelativeLayout
android:id="@+id/circle_layoutinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/rating_viewtv"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" >
<TextView
android:id="@+id/ratingcup_viewtv_fonts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Y"
android:textColor="#ff0000" />
</RelativeLayout>
<TextView
android:id="@+id/rating_viewtv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="#ffffff"
android:gravity="center"
android:text="4.5"
android:textColor="#ff0000" />
</RelativeLayout>
使用线性布局也试试这个
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/circle_layout"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/circletwo"
android:orientation="vertical" >
<TextView
android:id="@+id/ratingcup_viewtv_fonts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2.2"
android:text="Y"
android:layout_gravity="center"
android:gravity="center_vertical"
android:textColor="#ff0000" />
<TextView
android:id="@+id/rating_viewtv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:background="#ffffff"
android:gravity="center"
android:text="4.5"
android:textColor="#ff0000" />
</LinearLayout>
我想用圆形背景实现以下形状,我试过了但是我的内部视图在相对布局中没有变成圆形我会post我的屏幕截图。
我得到了以下我创建的布局的结果
<RelativeLayout
android:id="@+id/circle_layout"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/whitecircle" >
<RelativeLayout
android:id="@+id/circle_layoutinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/rating_viewtv"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="@drawable/circletwo" >
<TextView
android:id="@+id/ratingcup_viewtv_fonts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Y"
android:textColor="@android:color/holo_purple" />
</RelativeLayout>
<TextView
android:id="@+id/rating_viewtv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:text="4.5"
android:textColor="@android:color/holo_purple" />
</RelativeLayout>
</RelativeLayout>
我的whitecircle.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="2"
android:useLevel="false">
<solid android:color="@color/white" />
</shape>
我的circletwo.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="2"
android:useLevel="false">
<solid android:color="#ff9546" />
</shape>
试试这个。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/circle_layout"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/circletwo" >
<RelativeLayout
android:id="@+id/circle_layoutinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/rating_viewtv"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" >
<TextView
android:id="@+id/ratingcup_viewtv_fonts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Y"
android:textColor="#ff0000" />
</RelativeLayout>
<TextView
android:id="@+id/rating_viewtv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="#ffffff"
android:gravity="center"
android:text="4.5"
android:textColor="#ff0000" />
</RelativeLayout>
使用线性布局也试试这个
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/circle_layout"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/circletwo"
android:orientation="vertical" >
<TextView
android:id="@+id/ratingcup_viewtv_fonts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2.2"
android:text="Y"
android:layout_gravity="center"
android:gravity="center_vertical"
android:textColor="#ff0000" />
<TextView
android:id="@+id/rating_viewtv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:background="#ffffff"
android:gravity="center"
android:text="4.5"
android:textColor="#ff0000" />
</LinearLayout>