텍스트가없는 사용자 지정 ProgressDialog를 만드는 방법에 대한 자습서가 많이 있습니다. 사용자 지정 이미지와 메시지를 사용하여 사용자 지정 ProgressDialog를 만드는 가장 쉬운 방법은 무엇입니까? 당신이 대화를위한 맞춤 설계를하려면 사용자 정의 대화메시지가있는 Android Custom ProgressDialog
만들기 이런 식으로 뭔가가 ...
텍스트가없는 사용자 지정 ProgressDialog를 만드는 방법에 대한 자습서가 많이 있습니다. 사용자 지정 이미지와 메시지를 사용하여 사용자 지정 ProgressDialog를 만드는 가장 쉬운 방법은 무엇입니까? 당신이 대화를위한 맞춤 설계를하려면 사용자 정의 대화메시지가있는 Android Custom ProgressDialog
만들기 이런 식으로 뭔가가 ...
, 당신은 레이아웃과 위젯 요소 대화 상자 창에 대한 자신의 레이아웃을 만들 수 있습니다. 레이아웃을 정의한 후 루트 View 객체 또는 레이아웃 리소스 ID를 setContentView (View)에 전달합니다.
가 custom_dialog.xml로 저장된 XML 레이아웃을 만듭니다 :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
>
<ImageView android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="10dp"
/>
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textColor="#FFF"
/>
</LinearLayout>
이 XML은 이미지 뷰와의 LinearLayout 안에 텍스트 뷰를 정의 예를 들어
는 오른쪽에 표시된 대화 상자를 만들 수 있습니다. 대화의 컨텐트 뷰에 위의 레이아웃을 설정하고 ImageView와 TextView에 대한 내용 정의 : 당신이 대화를 인스턴스화 한 후, 된 setContentView (int)를 사용하여 대화의 내용보기와 같은 사용자 정의 레이아웃을 설정
Context mContext = getApplicationContext();
Dialog dialog = new Dialog(mContext);
dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle("Custom Dialog");
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setText("Hello, this is a custom dialog!");
ImageView image = (ImageView) dialog.findViewById(R.id.image);
image.setImageResource(R.drawable.android);
, 통과를 그것은 레이아웃 리소스 ID입니다. 이제 대화 상자에 정의 된 레이아웃이 있으므로 findViewById (int)를 사용하여 레이아웃에서 View 객체를 캡처하고 해당 내용을 수정할 수 있습니다. 그게 전부입니다. 대화 상자 표시에 설명 된대로 대화 상자를 표시 할 수 있습니다. 기본 Dialog 클래스로 만든 대화 상자에는 제목이 있어야합니다. setTitle()을 호출하지 않으면 제목에 사용 된 공간은 비어 있지만 여전히 표시됩니다. 제목을 전혀 원하지 않으면 AlertDialog 클래스를 사용하여 사용자 정의 대화 상자를 만들어야합니다. 그러나 AlertDialog는 AlertDialog.Builder 클래스로 가장 쉽게 생성되기 때문에 위에 사용 된 setContentView (int) 메서드에 액세스 할 수 없습니다. 대신 setView (View)를 사용해야합니다. 이 메소드는 View 객체를 받아들이므로 XML에서 레이아웃의 루트 View 객체를 확장해야합니다.
XML 레이아웃을 확장하려면 getLayoutInflater() (또는 getSystemService())를 사용하여 LayoutInflater를 검색 한 다음 inflate (int, ViewGroup)을 호출합니다. 여기서 첫 번째 매개 변수는 레이아웃 리소스 ID이고 두 번째 매개 변수는 루트보기. 이때 팽창 된 레이아웃을 사용하여 레이아웃에서 View 객체를 찾고 ImageView 및 TextView 요소의 내용을 정의 할 수 있습니다. 그런 다음 AlertDialog.Builder를 인스턴스화하고 setView (View)를 사용하여 대화 상자의 풍선 레이아웃을 설정합니다.
가 여기에 AlertDialog에서 사용자 지정 레이아웃을 생성하는 예이다 :
AlertDialog.Builder builder;
AlertDialog alertDialog;
Context mContext = getApplicationContext();
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_dialog,
(ViewGroup) findViewById(R.id.layout_root));
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Hello, this is a custom dialog!");
ImageView image = (ImageView) layout.findViewById(R.id.image);
image.setImageResource(R.drawable.android);
builder = new AlertDialog.Builder(mContext);
builder.setView(layout);
alertDialog = builder.create();
당신이 활용할 수 있도록 사용자 정의 레이아웃을 위해 AlertDialog를 사용하는 내장에 AlertDialog 관리 버튼, 선택 목록, 제목 같은 기능, 아이콘 등등.
자세한 내용은 Dialog 및 AlertDialog.Builder 클래스의 참조 설명서를 참조하십시오.
나를 위해 인터넷 검색을 해줘서 고마워, 나는 처벌을 위해 몇 분 동안 구석에 앉아있을거야. –