2017-05-05 3 views
-1

내 애플리케이션에서 모든 대화 상자의 스타일을 변경하려면 어떻게해야합니까?Android에서 대화 상자 스타일 변경

내 앱에서 "소재 어두운 테마"중 일부를 사용하고 있습니다. -> 왜 그런지 모르고 모든 대화 상자에 "못생긴 회색"색상이있어서 변경할 수 없습니다!

super(context, R.style.my_super_dialog_style); 

을하지만 난 그렇게 내 환경 설정을 변경할 수 없습니다 :

나는 그것을 통해 시도!

내가 사용하고 있습니다 :

  1. 경고 대화
  2. 목록 기본 설정 대화 진행 (도 클릭 한 후 대화한다 - 옵션>) (불과 3 등)
  3. multiselectpreference을
  4. texteditreference

그리고 저는 E :

  1. 배경 색상
  2. 제목 색상
  3. 메시지 색상
  4. 진행 색상 선택
  5. 양/음 버튼 텍스트 색상 ((선택, 그것은 4,6,7에 같은 색상입니다) , 자바를 통해 변경)
  6. 체크 박스 활성 색상 (선택 사항, 4,6,7과 동일한 색상)
  7. 라디오 활성 색상 (선택 사항, 4,6,7과 동일한 색상)

덧붙여서, 마침내 내가 (테마 편집기를 통해) 색상을 찾았다 고 생각했을 때 읽기 전용이므로 색을 편집 할 수 없습니다! 그 스타일의 복사본을 만들면 작동하지 않습니다.

+0

앱용 맞춤 대화 상자 만들기 ...당신은 XML (UI 레이아웃) 파일을 만들고 대화 상자에서 그것을 팽창시켜야합니다. –

답변

2

사용자 정의 레이아웃으로 대화 상자를 만들 수 있습니다. 모든

먼저 대화 곳을 보여주기 위해이 선을 사용하는 만들기 대화 상자 클래스 다음

public class ViewDialog { 
public void showDialog(View activity,int width,int height){ 
    final Dialog dialog = new Dialog(activity.getContext()); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setCancelable(false); 
    dialog.setContentView(R.layout.custom_dialog); 

    ImageView dialogButton = (ImageView) dialog.findViewById(R.id.okay); 
    dialogButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      dialog.dismiss(); 
     } 
    }); 

    dialog.show(); 
    Window window = dialog.getWindow(); 

    window.setLayout(width, height); 

} 
} 

후 예를

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@drawable/dialogrectangle"> 


<TextView 
    android:id="@+id/sub_dialog" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Text" 
    android:layout_centerInParent="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="dimen/marginTop" 
    android:textSize="@dimen/invalidSize" 
    /> 




<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:scaleType="fitXY" 
    android:layout_marginBottom="dimen/marginBotom" 
    android:src="@drawable/okay"/> 

에 대한 귀하의 대화

에 대한 사용자 정의 레이아웃을 만들 너는 쇼를 원해.

ViewDialog dialog = new ViewDialog(); 

dialog.showDialog(view,width,height); 

도움이되는지 알려주세요. :)

+0

이런 식으로 사용자 정의 텍스트를 편집 환경 설정, listpreference, multiselect 환경 설정을 만들어야합니다. 생성자를 통해 사용자 정의 스타일을 설정하는 것과 같습니다. –

+0

네, 모든 사람들을위한 맞춤형 레이아웃이 필요합니다. –

1

나만의 테마 스타일을 정의해야한다고 생각합니다. 일부 속성 창에서만 필수 속성을 변경할 수 없습니다.

+0

그래, 나도 알아 ..하지만 어떻게? (모든 구성 요소에서 작동되도록) –