2015-04-02 59 views
0

我想單擊按鈕後顯示簡單的圓形進度條,但它不起作用。你看我的XML單擊按鈕後無法使進度條可見

  <FrameLayout 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:visibility="visible" 
       android:layout_centerHorizontal="true" 
       android:layout_centerVertical="true" 
       android:layout_gravity="center" 
       android:gravity="center" 
       android:id="@+id/progress_layout"> 

      <ProgressBar 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/progressBar" 
       android:layout_gravity="center" 
       android:visibility="invisible" /> 
     </FrameLayout> 

我的Java代碼

postPet = (Button) myFragmentView.findViewById(R.id.post_pet); 
    postPet.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      progressBar.setVisibility(View.VISIBLE); 
     } 
    }); 

沒有錯誤,點擊後沒有發生。

P.S.我在片段的onCreate方法

LayoutInflater infl = getActivity().getLayoutInflater(); 
    ViewGroup rootGroup = (ViewGroup) getActivity().findViewById(R.id.progress_layout); 
    View root = infl.inflate(R.layout.fragment_new_pet_form, rootGroup); 
    progressBar = (ProgressBar) root.findViewById(R.id.progressBar); 
+0

是不是缺少progressBar.show(); ? – dosdebug 2015-04-04 17:08:09

回答

0

初始化變量進度應該在XML中添加您的PB在一個按鈕上,如:

<FrameLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:visibility="visible" 
      android:layout_centerHorizontal="true" 
      android:layout_centerVertical="true" 
      android:layout_gravity="center" 
      android:gravity="center" 
      android:id="@+id/progress_layout"> 
<Button 
android:id="@+id/post_pet" 
your button description here /> 
     <ProgressBar 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/progressBar" 
      android:layout_gravity="center" 
      android:visibility="gone" /> 
    </FrameLayout> 

這樣有工作,你就不需要額外充氣PB 。

0

嘗試增加的相關樣式之一:http://developer.android.com/reference/android/widget/ProgressBar.html

您還可以設置它的父的背景顏色爲某個值,並看看是否有任何部分是不透明的:如果不是,進度條沒有寬度和高度或不可見。

最後,您可以使用hierarchyviewer和模擬器來檢查佈局並驗證發生了什麼。

此外,如果框架佈局沒有其他孩子,擺脫它,並使用layout_gravity將進度欄放置在其父:不需要額外的視圖組!