📜  Android中的ProtractorView

📅  最后修改于: 2021-05-08 20:28:59             🧑  作者: Mango

在本文中,在Android中添加了ProtractorViewProtractorView是一个半圆形的Seekbar视图,用于从0°到180度之间选择一个角度。Seekbar是一种进度条。将光标从0°更改为180以选择角度。下面是ProtractorView的图像。

Android中的ProtractorView

方法:

步骤1:在根build.gradle文件(而不是模块build.gradle文件)中添加支持库。这个库jitpack是一个新颖的软件包存储库。它是为JVM设计的,因此github和bigbucket中存在的任何库都可以直接在应用程序中使用。

XML
allprojects {         
   repositories {         
      maven { url 'https://jitpack.io' }         
  }
}


XML
dependencies {         
        implementation 'com.github.GoodieBag:ProtractorView:v1.2'
}


activity_main.xml


  
    
  
    
  


MainActivity.java
package org.geeksforgeeks.protractorview
  
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Build;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
  
import com.goodiebag.protractorview.ProtractorView;
  
public class MainActivity extends AppCompatActivity {
  
    TextView textView;
  
    @RequiresApi(api = Build.VERSION_CODES.M)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
  
        ProtractorView protractorView = (ProtractorView) 
                       findViewById(R.id.protractorview);
        textView  = findViewById(R.id.textView);
  
  
        protractorView.setTickIntervals(15);
        protractorView.setArcColor(getColor(R.color.colorAccent));
        protractorView.setProgressColor(getColor(R.color.myColor));
  
        protractorView.setOnProtractorViewChangeListener(new 
               ProtractorView.OnProtractorViewChangeListener() {
            @Override
            public void onProgressChanged(ProtractorView pv,
                        int progress, boolean b) {
               textView.setText(""+progress);
            }
  
            @Override
            public void onStartTrackingTouch(ProtractorView pv) {
  
            }
  
            @Override
            public void onStopTrackingTouch(ProtractorView pv) {
  
            }
        });
    }
  
}


步骤2:build.gradle文件中添加支持库,并在“ dependencies”部分中添加依赖项。它可以帮助开发人员直接在XML文件中直接添加Protractor视图。

XML格式

dependencies {         
        implementation 'com.github.GoodieBag:ProtractorView:v1.2'
}

步骤3:activity_main.xml文件中添加以下代码。在此文件中,将ProtractorViewTextView添加到布局中。

activity_main.xml



  
    
  
    
  

步骤4:MainActivity中添加以下代码。 Java文件。在此文件中,向我们的ProtractorView中添加时间间隔,颜色和setOnProtractorViewChangeChangeListener 。只要更改进度,就会自动调用setOnProtractorViewChangeListener 。此处,更改后的角度值显示在TextView中。

主要活动。Java

package org.geeksforgeeks.protractorview
  
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Build;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
  
import com.goodiebag.protractorview.ProtractorView;
  
public class MainActivity extends AppCompatActivity {
  
    TextView textView;
  
    @RequiresApi(api = Build.VERSION_CODES.M)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
  
        ProtractorView protractorView = (ProtractorView) 
                       findViewById(R.id.protractorview);
        textView  = findViewById(R.id.textView);
  
  
        protractorView.setTickIntervals(15);
        protractorView.setArcColor(getColor(R.color.colorAccent));
        protractorView.setProgressColor(getColor(R.color.myColor));
  
        protractorView.setOnProtractorViewChangeListener(new 
               ProtractorView.OnProtractorViewChangeListener() {
            @Override
            public void onProgressChanged(ProtractorView pv,
                        int progress, boolean b) {
               textView.setText(""+progress);
            }
  
            @Override
            public void onStartTrackingTouch(ProtractorView pv) {
  
            }
  
            @Override
            public void onStopTrackingTouch(ProtractorView pv) {
  
            }
        });
    }
  
}

输出:

有关更多信息,请参阅官方文档

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!