我想在操作栏中显示进度条。我试图展示它,但是当我尝试这样做的时候,我在动作栏中同时获得了进度条,微调器和横向。
在顶部蓝色水平进度条正在运行且右侧微调器正在运行。但是我想在Hubsystem徽标下方只有顶级蓝色进度条。我不知道旋转杆出现的原因。
我正在使用以下代码:
RequestWindowFeature(Android.Views.WindowFeatures.Progress);
base.OnCreate(bundle);
SetProgressBarIndeterminateVisibility(true);
SetProgressBarIndeterminate(true);
SetProgressBarVisibility(true);
我如何只在操作栏底部获得蓝色进度条?
答案 0 :(得分:1)
设计简单,只需在活动的主要布局中添加横向风格的进度条。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"
android:layout_width="match_parent" android:layout_height="match_parent">
<ProgressBar android:id="@+id/activity_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-8dp"
style="@android:style/Widget.DeviceDefault.ProgressBar.Horizontal"
/>
<!-- Other layouts -->
</LinearLayout>
这里我保留了android:layout_marginTop =&#34; -8dp&#34;因为如果你的动作栏上有阴影,那么它会调整到动作栏附近。如果没有阴影,请根据您进行调整。
注意:只有在XML布局中使用ToolBar时才可以接受。 如果您正在使用自定义编码,请在MainActivity中执行此操作。
public abstract class MainActivity extends Activity {
private ProgressBar mProgressBar;
@Override
public void setContentView(View view) {
init().addView(view);
}
@Override
public void setContentView(int layoutResID) {
getLayoutInflater().inflate(layoutResID,init(),true);
}
@Override
public void setContentView(View view, ViewGroup.LayoutParams params) {
init().addView(view,params);
}
private ViewGroup init(){
super.setContentView(R.layout.progress);
mProgressBar = (ProgressBar) findViewById(R.id.activity_bar);
return (ViewGroup) findViewById(R.id.activity_frame);
}
protected ProgressBar getProgressBar(){
return mProgressBar;
}
}