【问题标题】:set value in Circular Progress in android在android的循环进度中设置值
【发布时间】:2016-01-13 15:36:46
【问题描述】:

如何在我的循环进度中呈现“百分比”的值? 这段代码主要计算wifi信号强度并在textview中显示,但我也想在圆形进度条中显示。

主要活动

public static int getWifiStrengthPercentage(Context context) {
    try {
        WifiManager wifiManager = (WifiManager) context
                .getSystemService(Context.WIFI_SERVICE);
        int rssi = wifiManager.getConnectionInfo().getRssi();
        int level = WifiManager.calculateSignalLevel(rssi, 10);
        int percentage = (int) ((level / 10.0) * 100);
        tv.setText(percentage + " %");
        return percentage;
    } catch (Exception e) {
        return 0;
    }
}
}

xml

<ProgressBar
    android:id="@+id/progressBar1"
    android:layout_width="wrap_content"
    android:indeterminateDrawable="@drawable/progress"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button1"
    android:layout_centerVertical="true"
    android:layout_marginLeft="18dp" />

prgress.xml

 <?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="900" >

<shape
    android:innerRadiusRatio="2.3"
    android:shape="ring"
    android:thickness="3.8sp" >
    <solid android:color="#F3E2A9" />
</shape>

</rotate>

【问题讨论】:

标签: android xml progress-bar


【解决方案1】:

要在圆形进度条中显示wifi信号强度,只需在进度条中设置,然后在圆形进度条中间取一个TextView即可。

XML:

<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:indeterminateDrawable="@drawable/progress"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_centerVertical="true"
android:layout_marginLeft="18dp" />

<TextView
android:id="@+id/tvprogress"
android:layout_width="wrap_content"  
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true">

在代码中:

public static int getWifiStrengthPercentage(Context context) {
      try {
        WifiManager wifiManager = (WifiManager) context
                .getSystemService(Context.WIFI_SERVICE);
        int rssi = wifiManager.getConnectionInfo().getRssi();
        int level = WifiManager.calculateSignalLevel(rssi, 10);
        int percentage = (int) ((level / 10.0) * 100);
        progressBar1.setProgress(percentage);
        tvprogress.setText(String.valueof(percentage) + " %");
        return percentage;
    } catch (Exception e) {
        return 0;
    }
}

希望对你有帮助。

【讨论】:

  • 它的布局是否与您设置视图的活动中膨胀的布局相同?
  • 这可能是因为您的进度正在更新。
  • 我有一个想法,我在问题中更新了我的代码,我删除了进度,而是在我的图像视图中设置了进度图像,根据百分比,这看起来像一个循环进度,我已经准备好了已经有 10 张图片了!
  • 现在你能告诉我如何根据百分比检测百分比并在我的图像视图中设置图像吗?我准备好了 11 张图片
  • 你已经检测到百分比了,只要把 if - else if - elsecondition 像 if(Integer.parseInt(strpercentage) >0 && Integer.parseInt(strpercentage)
猜你喜欢
  • 2012-04-05
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多