Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 可在5.1版之前的安卓系统上拉环_Android - Fatal编程技术网

Android 可在5.1版之前的安卓系统上拉环

Android 可在5.1版之前的安卓系统上拉环,android,Android,我是android新手,我正在创建一个应用程序,其中一个布局中包含一个环形,我使用以下代码: Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); int width = size.x; int height = size.y;

我是android新手,我正在创建一个应用程序,其中一个布局中包含一个环形,我使用以下代码:

Display display = getWindowManager().getDefaultDisplay();
              Point size = new Point();
              display.getSize(size);
              int width = size.x;
              int height = size.y;


              Log.e("(width/2)-70", (width/2)-70+"%%%");
              RingDrawable ring = new RingDrawable(0,(width/2)-70 , 0, 0);
               ring.setColor(Color.parseColor("#0f000000"));

               backgroundSpeaker.setBackground(ring);
             //  backgroundSpeaker.setAnimation(zoom);
               backgroundSpeaker.invalidate();
               speaker_layout.invalidate();

上面的代码工作正常,但问题是它的工作只低于5.1。我无法得到任何环形状,在上述5.1版本。出了问题的是代码需要修改,请帮助!!。提前感谢

要为较旧的android版本创建一个环形,您可以定义一个带有彩色笔划的透明圆。环是笔划本身:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >

<solid android:color="@color/transparent"/>
<stroke android:color="#fff" android:width="5dp" />

要为较旧的android版本创建环形,可以定义带有彩色笔划的透明圆。环是笔划本身:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >

<solid android:color="@color/transparent"/>
<stroke android:color="#fff" android:width="5dp" />

从这里尝试使用此选项:


从这里尝试使用此选项:



Hi shayan,但我需要动态更改宽度。首先,我遵循了“”但我想通过编程设置厚度,所以我遵循了上面提到的代码。您可以从其视图中获取绘图并设置笔划宽度:((GradientDrawable)backgroundSpeaker.getBackground())。setStroke(10,Color.WHITE)Hi shayan,但我需要动态更改宽度。首先,我遵循了“”但我想通过编程设置厚度,所以我遵循了上面提到的代码。您可以从其视图中获取绘图并设置笔划宽度:((GradientDrawable)backgroundSpeaker.getBackground()).setStroke(10,Color.WHITE)
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="100"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="360" >

    <shape
        android:innerRadius="20dp"
        android:shape="ring"
        android:thickness="4dp"
        android:useLevel="false" >
        <size
            android:height="48dp"
            android:width="48dp" />

        <gradient
            android:centerColor="@color/colorAccent"
            android:centerY="0.5"
            android:endColor="#00FFFFFF"
            android:startColor="@color/colorPrimaryDark"
            android:type="sweep"
            android:useLevel="false" />
    </shape>

</rotate>