2016-01-13 2 views
0

Как мне изменить значение «процент» в моем круговом прогрессе? Этот код в основном вычисляет силу сигнала Wi-Fi и показывает его в текстовом виде, но я также хотел бы показать его в круговом индикаторе выполнения.Установленное значение в Circular Progress in android

Основная деятельность

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> 
+0

Вы пробовали http://stackoverflow.com/a/27266585/3967525 – Soham

+0

Проверьте это [ответ] (http://stackoverflow.com/questions/8080329/show-numbers-in-progressbar) –

+0

Вы также можете взгляните на [эту ссылку] (http://colintmiller.com/how-to-add-text-over-a-progress-bar-on-android/) –

ответ

0

Чтобы показать WiFi Stren сигнал gth в круговом индикаторе выполнения, просто установите его в строке прогресса и возьмите один TextView в середине строки Circular Progress.

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; 
    } 
} 

Надеется, что это поможет.

+0

делает это в том же макете, который завышен в активности где вы указали свое мнение? – KishuDroid

+0

Возможно, это связано с тем, что ваш прогресс обновляется. – KishuDroid

+0

У меня есть идея, я плохо обновляю свой код в вопросе, я удалил ход и вместо этого сделал больший набор изображений прогресса в моем представлении изображений, который будет выглядеть круговым прогрессом в соответствии с%, я уже подготовил 10 изображений! – user5779349

Смежные вопросы