在unicode中更改ProgressDialog进度号

时间:2018-06-09 20:11:35

标签: android progressdialog

要设置当前进度,我正在使用setProgress方法。这会将当前进度显示为英文数字,​​但我想将此进度更改为Bangla。如何将此进度号码从英语更改为孟加拉语?

enter image description here

1 个答案:

答案 0 :(得分:1)

由于不推荐使用ProgressDialog,因此您应该使用ProgressBar代替。

使用此方法,您可以创建一个简单的ProgressBar以及TextView指标,用于百分比和小数进度。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">

<ProgressBar
    android:id="@+id/determinateBar"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_centerInParent="true"
    style="@android:style/Widget.Holo.Light.ProgressBar.Horizontal" />

<TextView
    android:id="@+id/tv_percent"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="10"
    android:layout_below="@id/determinateBar"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true" />

<TextView
    android:id="@+id/tv_fraction"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="10/100"
    android:layout_below="@id/determinateBar"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true" />

<Button
    android:id="@+id/btn"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_below="@+id/tv_fraction"
    android:layout_centerInParent="true"
    android:text="Run" />

</RelativeLayout>

然后创建一个您想要使用的值的自定义资源字符串数组。

<resources>
<string-array name="numbers">
    <item>  ০   </item>
    <item>  ১   </item>
    <item>  ২   </item>
    <item>  ৩   </item>
    <item>  ৪   </item>
    <item>  ৫   </item>
    <item>  ৬   </item>
    <item>  ৭   </item>
    <item>  ৮   </item>
    <item>  ৯   </item>
    <item>  ১০  </item>
    <item>  ১১  </item>
    <item>  ১২  </item>
    <item>  ১৩  </item>
    <item>  ১৪  </item>
    <item>  ১৫  </item>
    <item>  ১৬  </item>
    <item>  ১৭  </item>
    <item>  ১৮  </item>
    <item>  ১৯  </item>
    <item>  ২০  </item>
    <item>  ২১  </item>
    <item>  ২২  </item>
    <item>  ২৩  </item>
    <item>  ২৪  </item>
    <item>  ২৫  </item>
    <item>  ২৬  </item>
    <item>  ২৭  </item>
    <item>  ২৮  </item>
    <item>  ২৯  </item>
    <item>  ৩০  </item>
    <item>  ৩১  </item>
    <item>  ৩২  </item>
    <item>  ৩৩  </item>
    <item>  ৩৪  </item>
    <item>  ৩৫  </item>
    <item>  ৩৬  </item>
    <item>  ৩৭  </item>
    <item>  ৩৮  </item>
    <item>  ৩৯  </item>
    <item>  ৪০  </item>
    <item>  ৪১  </item>
    <item>  ৪২  </item>
    <item>  ৪৩  </item>
    <item>  ৪৪  </item>
    <item>  ৪৫  </item>
    <item>  ৪৬  </item>
    <item>  ৪৭  </item>
    <item>  ৪৮  </item>
    <item>  ৪৯  </item>
    <item>  ৫০  </item>
    <item>  ০   </item>             <!-- TODO Complete array -->
    <item>  ১   </item>
    <item>  ২   </item>
    <item>  ৩   </item>
    <item>  ৪   </item>
    <item>  ৫   </item>
    <item>  ৬   </item>
    <item>  ৭   </item>
    <item>  ৮   </item>
    <item>  ৯   </item>
    <item>  ১০  </item>
    <item>  ১১  </item>
    <item>  ১২  </item>
    <item>  ১৩  </item>
    <item>  ১৪  </item>
    <item>  ১৫  </item>
    <item>  ১৬  </item>
    <item>  ১৭  </item>
    <item>  ১৮  </item>
    <item>  ১৯  </item>
    <item>  ২০  </item>
    <item>  ২১  </item>
    <item>  ২২  </item>
    <item>  ২৩  </item>
    <item>  ২৪  </item>
    <item>  ২৫  </item>
    <item>  ২৬  </item>
    <item>  ২৭  </item>
    <item>  ২৮  </item>
    <item>  ২৯  </item>
    <item>  ৩০  </item>
    <item>  ৩১  </item>
    <item>  ৩২  </item>
    <item>  ৩৩  </item>
    <item>  ৩৪  </item>
    <item>  ৩৫  </item>
    <item>  ৩৬  </item>
    <item>  ৩৭  </item>
    <item>  ৩৮  </item>
    <item>  ৩৯  </item>
    <item>  ৪০  </item>
    <item>  ৪১  </item>
    <item>  ৪২  </item>
    <item>  ৪৩  </item>
    <item>  ৪৪  </item>
    <item>  ৪৫  </item>
    <item>  ৪৬  </item>
    <item>  ৪৭  </item>
    <item>  ৪৮  </item>
    <item>  ৪৯  </item>
    <item>  ৫০  </item>
</string-array>

接下来,在您的活动中使用此数组相对于您的操作。

public class MainActivity extends Activity {
private int progressStatus = 0;
private Handler handler = new Handler();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Button btn = (Button) findViewById(R.id.btn);
    ProgressBar progressBar = (ProgressBar) findViewById(R.id.determinateBar);
    TextView percent = (TextView) findViewById(R.id.tv_percent);
    TextView fraction = (TextView) findViewById(R.id.tv_fraction);

    String[] numbers = getResources().getStringArray(R.array.numbers);

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // Set the progress status zero on each button click
            progressStatus = 0;

            // Start the lengthy operation in a background thread
            new Thread(new Runnable() {
                @Override
                public void run() {
                    while(progressStatus < 100){
                        // Update the progress status
                        progressStatus +=1;

                        // Try to sleep the thread for 20 milliseconds
                        try{
                            Thread.sleep(20);
                        }catch(InterruptedException e){
                            e.printStackTrace();
                        }

                        // Update the progress bar
                        handler.post(new Runnable() {
                            @Override
                            public void run() {
                                pb.setProgress(progressStatus);
                                // Show the progress on TextView
                                percent.setText(numbers[progressStatus]);
                                fraction.setText(numbers[progressStatus] + "/১০০");
                            }
                        });
                    }
                }
            }).start(); // Start the operation
       }
    });
  }
}