启动时未显示进度条

时间:2017-12-22 12:16:18

标签: android progress-bar

根据一些书我有以下设置。但是仍然无法在加载应用程序时看到进度条。

MainActivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private EditText et;
private ImageView iv;
private ProgressBar pb;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button b = (Button)findViewById(R.id.button);
    et = (EditText) findViewById(R.id.edittext);
    b.setOnClickListener(this);

    iv = (ImageView)findViewById(R.id.image);
    pb = (ProgressBar)findViewById(R.id.progressbar);
    pb.setVisibility(View.VISIBLE);

}

@Override
public void onClick(View v){
    switch(v.getId()){
        case R.id.button:
            //String input = et.getText().toString();
            //Toast.makeText(MainActivity.this, input,Toast.LENGTH_SHORT).show(); //**
            //pb.setVisibility(View.VISIBLE);
            break;
        default:
            break;
    }
}

我的activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/text_view"
    android:text="This is a text"
    android:gravity="center"
    android:textSize="24sp"
    android:textColor="#00ff00"
    />
<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="button"
    android:textAllCaps="false"
    android:id="@+id/button"
    />

<EditText
    android:id="@+id/edittext"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Type sth here :)"
    android:maxLines="2"

    />

<ImageView
    android:id="@+id/image"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/rose"
    />

<ProgressBar
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/progressbar"
    android:indeterminate="true"
    android:layout_centerInParent="true"
    />
</LinearLayout>

我引用了这个链接:Android progressBar not showing但在我的情况下仍然不起作用......酒吧根本就没有出现......

2 个答案:

答案 0 :(得分:1)

您的根布局是LinearLayout。android:layout_centerInParent不是Linearlayout的子项的属性。因此,如果要在中心显示“ProgressBar”,最好将Relative布局用作父级。

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:id="@+id/text_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="This is a text"
            android:textColor="#00ff00"
            android:textSize="24sp" />

        <Button
            android:id="@+id/button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="button"
            android:textAllCaps="false" />

        <EditText
            android:id="@+id/edittext"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Type sth here :)"
            android:maxLines="2"

            />

        <ImageView
            android:id="@+id/image"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/rose" />

    </LinearLayout>

    <ProgressBar
        android:id="@+id/progressbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:indeterminate="true" />
</RelativeLayout>

答案 1 :(得分:0)

可能的原因是您在开发人员选项中关闭了动画。 我在我的测试项目中使用你的布局文件。进度条显示,并且正常工作。 关闭动画会使ProgressBar不可见。