2014-06-18 1 views
0

요청이 처리되는 동안 이미지 버튼을 progressBar로 바꾸고 싶습니다.요청을 기다리는 동안 imageButton을 progressBar로 바꾸려면 어떻게해야합니까?

여기 내 XML

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingLeft="@dimen/gap_normal" 
    android:orientation="horizontal" 
    android:background="0000000000"> 


    <com.devspark.robototextview.widget.RobotoTextView 
     android:id="@+id/conference_text_lockstate" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="@dimen/gap_normal" 
     android:layout_marginBottom="@dimen/gap_normal" 
     android:gravity="left" 
     android:textSize="@dimen/textsize_normal" 
     android:paddingRight="@dimen/gap_large" 
     android:text="Unlocked. When all participants have joined, lock the conference by tapping the padlock." 
     app:typeface="roboto_condensed_regular" /> 


    <ImageButton 
     android:id="@+id/conference_checkableimagebutton_lockstate" 
     android:layout_width="60dp" 
     android:layout_height="match_parent" 
     android:scaleType="fitCenter" 
     android:adjustViewBounds="true" 
     android:background="@android:color/white" 
     android:src="@drawable/conference_checkableimagebutton_lockstate_src" 
     android:cropToPadding="false"/> 


    <ProgressBar 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/pb" 
     android:indeterminate="true" 
     android:visibility="invisible" 
     /> 




</LinearLayout>  

이고 나는 온 클릭 방법에서 ProgressBar와 이미지 버튼을 교체하려고합니다.

  if (mLockCheckableImageButton.isChecked()==true){ 

       mLockCheckableImageButton.setClickable(false); 

       ProgressBar pb = (ProgressBar)inflated.findViewById(R.id.pb); 

       pb.setVisibility(View.VISIBLE);  

     //more code here. 

그러나 이것은 서로 옆에 하나를 추가합니다. 누군가? 미리 감사드립니다.

+0

을 사용하여 상대 또는 프레임 레이아웃 ... –

+0

, 그때 당신은 mLockCheckableImageButton.setVisibility (View.GONE)를 호출하는 forgott을; – Opiatefuchs

답변

0

사용해보기!

mLockCheckableImageButton.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
           mLockCheckableImageButton.setVisibility(View.GONE);  
        pb.setVisibility(View.VISIBLE);  

       } 
     }); 
2

당신은 ProgressBarvisible의 가시성을 설정합니다. 하지만 ImageButton의 공개 여부는 변경하지 마십시오. 그것이 둘 다 표시되는 이유입니다.

는 먼저 사용해야합니다 RelativeLayout 또는 FrameLayout 그래서 이러한 뷰는 (가 나란히 될 LinearLayout와) 같은 위치 에서 할 수 있습니다. 그리고 이러한 요소 중 하나 보여주기 위해 방법을 만들 : 당신은 대체하려는 경우

private void showProgressBar() { 
    myProgressBar.setVisibility(View.VISIBLE); 
    myImageButton.setVisibility(View.INVISIBLE); 
} 

private void showImageButton() { 
    myProgressBar.setVisibility(View.INVISIBLE); 
    myImageButton.setVisibility(View.VISIBLE); 
} 
1
Private void showProgressBar() { 
myProgressBar.setVisibility(View.VISIBLE); 
myImageButton.setVisibility(View.GONE); 
} 

private void showImageButton() { 
myProgressBar.setVisibility(View.GONE); 
myImageButton.setVisibility(View.VISIBLE); 
} 
관련 문제