不透明度が50%未満の黒い半透明の背景を持つプログレスバーの背景色を変更したい。私はこれについて多くを検索しましたが、解決策を見つけることができませんでした。私が正しいかどうかはわかりませんが、プログレスバーのmdecorプロパティと関係があります。
以下は、私がそれを使用しているコードです。
pd = ProgressDialog.show(getActivity(), null, null,true);
pd.setContentView(R.layout.remove_border);
ボーダーレイアウトを削除するためのコードは次のとおりです。
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@Android:color/transparent"
Android:orientation="vertical" >
<ProgressBar
Android:id="@+id/progressBar1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:background="@Android:color/transparent"
Android:indeterminateDrawable="@drawable/my_progress_indeterminate" />
</LinearLayout>
My_progress_indeterminateのコードは次のとおりです。
<animated-rotate xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:drawable="@drawable/loadingiconblack"
Android:pivotX="50%"
Android:pivotY="50%" />
以下は、背景領域が赤い丸でマークされている画像です。同じ不透明度で色を白に変えたいです。
編集:
Sripathiとuser3298272のおかげで私の問題の最終的な解決策は、ここで両方の解決策を組み合わせると、私の更新された答えです:
pd = new Dialog(this, Android.R.style.Theme_Black);
View view = LayoutInflater.from(this).inflate(R.layout.remove_border, null);
pd.requestWindowFeature(Window.FEATURE_NO_TITLE);
pd.getWindow().setBackgroundDrawableResource(R.color.transparent);
pd.setContentView(view);
pd.show();
remove_border xmlコード:Android:gravity = "center"が私の線形レイアウトコードに追加されています。
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@Android:color/transparent"
Android:gravity="center"
Android:orientation="vertical" >
<ProgressBar
Android:id="@+id/progressBar1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:background="@Android:color/transparent"
Android:indeterminateDrawable="@drawable/my_progress_indeterminate" />
</LinearLayout>
色のxmlコード:
<resources>
<color name="transparent">#80FFFFFF</color>
</resources>
#80FFFFFFの80は、user3298272から取得した不透明度の値50%です。
あなたはprogressdialogの代わりにダイアログを使うことができます、
dialogTransparent = new Dialog(this, Android.R.style.Theme_Black);
View view = LayoutInflater.from(getActivity()).inflate(
R.layout.remove_border, null);
dialogTransparent.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialogTransparent.getWindow().setBackgroundDrawableResource(
R.color.transparent);
dialogTransparent.setContentView(view);
更新:
Here the color transparent is #80FFFFFF
16進数のカラーコードの透過色の比率は次のとおりです。
100%-FF
95%-F2
90%-E6
85%-D9
80%-CC
75%-BF
70%-B3
65%-A6
60%— 99
55%— 8C
50%— 80
45%— 73
40%— 66
35%— 59
30%— 4D
25%— 40
20%— 33
15%— 26
10%— 1A
5%— 0D
0%— 00
カラーコードの前に不透明度のパーセンテージを追加するだけです。 例:黒のカラーコードは#0000です。 50%の透明な黒が必要な場合、透明度は8を#0000の前に追加するだけです(つまり、#8000)
ProgressBar.setAlpha(0.2f);を設定するだけです。