2016-09-26 30 views
0

我想在我的操作欄中顯示進度條。我試圖展示它,但是當我嘗試這樣做時,我在進度欄中獲得進度條,微調和水平。如何在android中顯示動作欄上的進度條?

enter image description here

在頂部的藍色水平進度條運行和右微調正在運行。但是我只需要在Hubsystem徽標下方的頂部藍色進度條。我不知道爲什麼旋轉杆會顯示。

我使用下面的代碼:

RequestWindowFeature(Android.Views.WindowFeatures.Progress); 
base.OnCreate(bundle); 


SetProgressBarIndeterminateVisibility(true); 
SetProgressBarIndeterminate(true); 
SetProgressBarVisibility(true); 

我怎麼可以在動作條的底部只得到藍色進度條?

+1

這可能會幫助你,http://stackoverflow.com/questions/13934010/progressbar-under-action-bar –

回答

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 =「 - 8DP」因爲如果你有陰影到你的動作欄然後它會接近調整到動作欄中。如果沒有陰影,則根據你的情況進行調整。

注意:只有在您的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; 
    } 
} 
相關問題