根据一些书我有以下设置。但是仍然无法在加载应用程序时看到进度条。
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但在我的情况下仍然不起作用......酒吧根本就没有出现......
答案 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不可见。