进度栏显示的背景

时间:2016-01-27 16:32:33

标签: android bluetooth progress-bar

我正在使用蓝牙设备阅读二维码,并且每次找到模拟一个"输入"每当我检测到Enter键运行时显示ProgressBar。我喜欢做的是将深色背景透明,就像发布对话框或其他内容时一样。我还没有找到一种方法来进行进度条。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutLectorBluetooth"
android:background="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<EditText
    android:id="@+id/lectura"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/background_edittext"
    android:inputType="textFilter|textMultiLine"
    android:cursorVisible="false"
    android:singleLine="true"
    android:lines="1"
    android:scrollHorizontally="true"
    android:layout_marginTop="148dp" />



<ImageView
    android:id="@+id/imageView2"
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:layout_alignParentLeft="true"
    android:src="@drawable/scan_trans" />

<TextView
    android:id="@+id/textoEjemplo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageView2"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="26dp"
    android:text="Escanea el E-ticket para validarlo."
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/txtValidando"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textoEjemplo"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="30dp"
    android:text=""
    android:visibility="gone"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<ProgressBar
    android:id="@+id/loader_prueba"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textoEjemplo"
    android:layout_centerHorizontal="true"
    android:visibility="gone"
    android:indeterminate="true" />

 </RelativeLayout>

onCreate Activity

    lectura = (EditText)findViewById(R.id.lectura);
    lectura.setOnKeyListener(new OnKeyListener() {
    public boolean onKey(View view, int keyCode, KeyEvent keyevent)  {
            //THIS!
    findViewById(R.id.loader_prueba).setVisibility(View.VISIBLE);

实施例

enter image description here

修改

enter image description here

1 个答案:

答案 0 :(得分:1)

您的方法有两个问题:

  1. @android:color/transparent属性实际上是完全透明的,因为根本没有颜色。你可能想要的是一种略微不透明的黑色
  2. 如果您将android:background应用于ProgressBar,它实际上无法覆盖整个窗口,相反,您必须添加一个同时覆盖整个窗口的新View高度和宽度设置为match_parent
  3. 编辑:根据您现在发布的完整布局,我会添加以下内容(在RelativeLayout内):

    <RelativeLayout> <!-- that's the one you already have -->
        <View
            android:id="@+id/background_dim"
            android:layout_height="match_parent"
            android:layout_width="match_parent"
            android:background="#42000000"
            android:visibility="gone" />
    </RelativeLayout>
    

    然后,您还需要在显示View时将此ProgressBar设置为可见:

    findViewById(R.id.background_dim).setVisibility(View.VISIBLE);