2017-03-27 2 views
1

은 로딩 효과를 표시하기위한 라이브러리를 추가했지만 표시되지 않거나 아무런 영향을주지 않습니다. 오류는 발생하지 않지만 네트워크 호출이 시작될 때 아무런 영향이 표시되지 않습니다. show 메서드는 아무런 효과가 없습니다. 현재 메신저 버전 4.1.2를 사용하여 사용하고 있습니다.AVLoadingIndicatorView 앱에 라이브러리가 표시되지 않음

XML

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:weightSum="10"> 

    <RelativeLayout 
     android:id="@+id/header" 
     android:layout_width="match_parent" 
     android:layout_height="50dp"> 

     <FrameLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent"> 

      <ImageView 
       android:id="@+id/signin_back_button" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:layout_gravity="center" 
       android:background="@drawable/ic_arrow_back_black_24dp"></ImageView> 
     </FrameLayout> 

     <TextView 
      android:id="@+id/txt_signIn" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_alignParentRight="true" 
      android:layout_gravity="right" 
      android:background="@color/colorPrimary" 
      android:gravity="center" 
      android:padding="12dp" 
      android:text="@string/sign_in" 
      android:textColor="@color/white" 
      android:textSize="18dp"></TextView> 
    </RelativeLayout> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="10dp" 
     android:gravity="center" 
     android:text="Sign in to TruePay" 
     android:textColor="@color/black" 
     android:textSize="20dp" 
     android:textStyle="bold"></TextView> 

    <android.support.design.widget.TextInputLayout 
     android:id="@+id/input_layout_email" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="20dp" 
     android:layout_marginRight="20dp" 
     android:layout_marginTop="50dp"> 

     <EditText 
      android:id="@+id/signin_email_address" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:backgroundTint="@color/colorPrimary" 
      android:hint="Username" 
      android:inputType="textEmailAddress"></EditText> 

    </android.support.design.widget.TextInputLayout> 

    <android.support.design.widget.TextInputLayout 
     android:id="@+id/input_layout_password" 
     android:layout_width="match_parent" 
     android:layout_marginLeft="20dp" 
     android:layout_height="wrap_content"> 

     <EditText 
      android:id="@+id/signin_password" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="20dp" 
      android:hint="@string/signin_password" 
      android:inputType="textPassword"></EditText> 

    </android.support.design.widget.TextInputLayout> 

    <TextView 
     android:id="@+id/forgot_password" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginTop="40dp" 
     android:clickable="true" 
     android:gravity="center" 
     android:padding="10dp" 
     android:text="@string/forgot_password" 
     android:textColor="@color/black" 
     android:textSize="18dp" 
     android:textStyle="bold"></TextView> 

    <TextView 
     android:id="@+id/use_device_code" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginTop="10dp" 
     android:gravity="center" 
     android:padding="10dp" 
     android:text="@string/device_code" 
     android:textColor="@color/black" 
     android:textSize="18dp" 
     android:textStyle="bold"></TextView> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center"> 

     <com.wang.avi.AVLoadingIndicatorView 
      android:id="@+id/avi" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:visibility="visible" 
      app:indicatorName="BallPulseIndicator" /> 
    </RelativeLayout> 

</LinearLayout> 

자바 코드

public class SignIn extends BaseSupportFragment { 
    private View view; 
    private ImageView backPage; 
    private TextView signInBtn; 
    private TextView forgotPassword; 
    private TextView deviiceCodes; 
    TextInputLayout emailLayout,passwordLayout; 
    EditText email,password; 
    private static SessionManagement sessionManagement; 
    AVLoadingIndicatorView avi; 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     view = inflater.inflate(R.layout.sign_in_fragment, container, false); 
     initiateUI(); 
     setListener(); 
     return view; 
    } 

    public void getTokenFromServer() 
    { 
     WeakHashMap<String, String> param = new WeakHashMap<>(); 
     param.put("username",email.getText().toString()); 
     param.put("password",password.getText().toString()); 
     Log.e("param...", String.valueOf(param)); 

     RetrofitInterface apiService = RetrofitClient.getClient().create(RetrofitInterface.class); 
     Observable<TokenModel> call = apiService.postFishDetails(param) 
       .subscribeOn(Schedulers.newThread()) 
       .observeOn(AndroidSchedulers.mainThread()); 
     call.subscribe(new Observer<TokenModel>() { 
      @Override 
      public void onCompleted() { 

      } 

      @Override 
      public void onError(Throwable e) { 
       //handle error 
       Log.e("access",e.toString()); 
       try { 
        if (e instanceof HttpException) { 
         if (((HttpException) e).code() == 401) { 
          // GlobalBus.getBus().post(new TokenExpirationNotification("Token Expired")); 
         } 
        } 
        if (e instanceof IOException) { 

        } 

       } catch (Exception e1) { 

       } 

      } 

      @Override 
      public void onNext(TokenModel response) 
      { 

       Constant.ACCESS_TOKEN = "Bearer" + response.getAccessToken(); 

       avi.hide(); 
       Intent intent = new Intent(getActivity(), DrawerAct.class); 
       getActivity().startActivity(intent); 
       getActivity().finish(); 


      } 

     }); 

    } 
    private void requestFocus(View view) { 
     if (view.requestFocus()) { 
      getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 
     } 
    } 


    private void setListener() { 
     backPage.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       getActivity().getSupportFragmentManager().popBackStack(); 
      } 
     }); 
     signInBtn.setOnClickListener(new View.OnClickListener() 
     { 

      @Override 
      public void onClick(View v) 
      { 
       if(TextUtils.isEmpty(email.getText().toString())) 
       { 
        emailLayout.setError("Enter Username"); 
        requestFocus(email); 
       } 
       else if(TextUtils.isEmpty(password.getText().toString())) 
       { 
        passwordLayout.setError("Enter Password"); 
        requestFocus(password); 
       } 
       else 
       { 

        avi.show(); 
        getTokenFromServer(); 
       } 

      } 
     }); 

     forgotPassword.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       replaceFragment(R.id.frame_layout, new ForgotPassword()); 
      } 
     }); 

     deviiceCodes.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       replaceFragment(R.id.frame_layout, new DeviceCode()); 
      } 
     }); 
    } 

    private void initiateUI() 
    { 

     backPage = (ImageView) view.findViewById(R.id.signin_back_button); 
     signInBtn = (TextView) view.findViewById(R.id.txt_signIn); 
     forgotPassword = (TextView) view.findViewById(R.id.forgot_password); 
     deviiceCodes = (TextView) view.findViewById(R.id.use_device_code); 

     emailLayout=(TextInputLayout)view.findViewById(R.id.input_layout_email); 
     passwordLayout=(TextInputLayout)view.findViewById(R.id.input_layout_password); 

     email=(EditText)view.findViewById(R.id.signin_email_address); 
     password=(EditText)view.findViewById(R.id.signin_password); 

     avi=(AVLoadingIndicatorView)view.findViewById(R.id.avi); 

    } 

} 

답변

0

부모 레이아웃 LinearLayout가하는 RelativeLayout와 메인 레이아웃을 포장 시도하고 문제가 해결되는 LinearLayout

+0

효과 없음 같은. –

1

외부 AVLoadingIndicatorView을 넣어이다. 기본적으로 흰색 인 인디 시아 톤 색상을 언급하는 것을 잊어 버렸으므로 로더가 실제로 작동하지만 보이지 않았습니다.

XML 코드

<com.wang.avi.AVLoadingIndicatorView 
     android:id="@+id/avi" 
     style="@style/AVLoadingIndicatorView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:visibility="gone" 
     app:indicatorColor="@color/colorPrimaryDark" 
     app:indicatorName="LineSpinFadeLoaderIndicator" /> 
여전히
+0

당신은 그것을 친구 버렸습니다 :) –

관련 문제