2017-06-02 72 views
-6

自定義視圖我創建一個視圖如下設計在這裏如何創建的Android

enter image description here

請建議的方法來創建這種類型的自定義視圖。

+0

您是否想要製作圓形進度條? –

+0

可能[這](https://stackoverflow.com/questions/14688117/how-to-make-circle-custom-progress-bar-in-android)一個幫助你的兄弟.. –

+0

'請建議的方式來創建此類型的自定義視圖。「我可以建議你谷歌的一些教程,而不是在這裏要求教程。 –

回答

1

您需要創建兩個文件,繪製此

創建資源這兩個文件>繪製

1 circle_shape.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="ring" 
    android:innerRadiusRatio="2.8" 
    android:thickness="10dp" 
    android:useLevel="false"> 
    <solid android:color="#CCC" /> 

</shape> 

2. circular_progress_bar.xml

<?xml version="1.0" encoding="utf-8"?> 
<rotate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromDegrees="270" 
    android:toDegrees="270"> 
    <shape 
     android:innerRadiusRatio="2.8" 
     android:shape="ring" 
     android:thickness="10dp" 
     android:useLevel="true"><!-- this line fixes the issue for lollipop api 21 --> 

     <gradient 
      android:angle="0" 
      android:endColor="#e2d631" 
      android:startColor="#dcdc38" 
      android:type="sweep" 
      android:useLevel="false" /> 
    </shape> 
</rotate> 

現在在您的layout.xml中,即res> layout>(您的佈局文件)

    <RelativeLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        > 

        <ProgressBar 
         android:id="@+id/pb_syllabus" 
         style="?android:attr/progressBarStyleHorizontal" 
         android:layout_width="120dp" 
         android:layout_height="120dp" 
         android:layout_centerInParent="true" 
         android:background="@drawable/circle_shape" 
         android:progress="60" 
         android:progressDrawable="@drawable/circular_progress_bar" /> 

        <TextView 
         android:layout_width="40dp" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true" 
         android:gravity="center" 
         android:text="60%" 
         android:textColor="#ffffff" 
         android:textSize="21sp" 
         android:textStyle="bold" /> 
       </RelativeLayout> 
+0

謝謝你,兄弟,它幫助了我。 –

+0

如果此答案有效,請將其標記爲「完成」 –