안드로이드에서 제공되는 기본 순환 진행 바를 사용자 정의하는 간단한 방법이 있는지 궁금합니다.드로어 블 리소스를 사용하지 않고 기본 진행률 표시 줄 (원형이 아닌 가로형)을 사용자 정의하는 방법이 있습니까?
질문을 명확히하겠습니다.
전체 응용 프로그램 이름을 전체 화면으로 표시하는 텍스트 아래에 많은 응용 프로그램에 표시된 것처럼 진행 상황 (네트워크 연결)을 나타내는 일부 동적 특성을 나타내는 원형 모양이 필요합니다.
내가 시도한 것.
1) ProgressDialog 사용. 앱의 제목을 성공적으로 추가하고 회 전자 (원)를 올바르게 가져올 수 있습니다. 그러나 그것을 대화 상자에 가로 놓을 수는 없습니다. 항상 왼쪽에 표시되었습니다. 그런 다음 일부 게시물에서 그런 식으로 사용자 정의 할 수 없음을 알게되었습니다. 사실입니까? 나는 잘 모르겠다. 하지만 그렇게하기위한 적절한 API를 찾지 못했습니다.
2) 다음으로 진행률 표시 줄이있는 사용자 지정 대화 상자를 시도했습니다. 대화 상자의 배경을 바꾸고, 내 앱 제목 텍스트를 추가하고 전체 화면으로 만들었습니다. 아래는 xml 레이아웃입니다.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/bgcolor">
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="MY APP NAME"
android:textStyle="bold"
android:textColor="#FFFFFF"
android:textSize="25sp"
android:gravity="center_horizontal"
android:layout_marginTop="100dp" />
<ProgressBar android:id="@+id/login_progressbar"
android:layout_marginTop="20dp"
style="?android:attr/progressBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />"
</LinearLayout>
활동 코드에서 내가 좋아하는 대화 만들었습니다
dialog = new Dialog(this, android.R.style.Theme_DeviceDefault_NoActionBar_Fullscreen);
을 그리고 거의 100 % 내가 원하는 것을 얻을 수 있지만. 수평이 아닌 진행 바가 있어요. 하지만 그 진저 브레드 폰에 표시되는 단순한 원형이 아닙니다. 그것의 2 개의 막대기와 원은 교대로 대체됩니다.
그러나 젤리 정제에서는 회전하는 원과 같습니다. 원하는 방식입니다. 이것은 기기/앱 테마와 관련된 문제인 것 같습니다. 그래서
, 나는 모든 장치에서 사용자 정의 균일 한 모양을 얻을 수있다 (그리고 나는 이것에 대한 이미지를 사용하지 않음) 아래 이미지와 같은 방법 :
또는
UPDATE를 :
젤리 빈과 진저 브래이크 폰의 동작 차이와 관련된 문제는 재미있는 것으로 판명되었습니다.
android:layout_width="match_parent"
을 android:layout_width="wrap_content"
으로 변경하면 xml 레이아웃에서이를 해결합니다. 전화에서보기 (회 전자)는 부모와 일치하도록 추가로 늘어나므로 동작도 마찬가지입니다. 그러나 탭에서는 부모와 일치하는 것으로 나타 났지만 화면 공간이 많아 예상대로 표시되는 방식을 유지했습니다. 아직도 안드로이드에서 ProgressBar 또는 ProgressDialog를 사용자 정의하는 쉬운 방법이 있어야한다고 생각합니다.
style = "? android : attr/progressBarStyle"에 대한 자세한 내용은 링크 또는 참조가 도움이 될 것입니다.