AlertDialog를 이용해서 로그인 폼 만들기 간단 예제
1. 참고사항
- logindialog를 만들기 위해서는 따로 login form을 위한 xml파일을 작성해야 한다.
- logindialog.xml에서 inputtype="numberpassword"를 설정했기에 password에는 숫자만 입력가능
2. 결과물
3. 해당 부분 코드
※ 전체 코드가 궁금하다면 이전 포스팅을 참고해주세요.
[프로젝트 기록/android] - [android/안드로이드] Dialog list, radio, check box형태의 다이얼로그 예제
/res/layout/activity_main.xml
<Button
android:id="@+id/loginBtn"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:text="Login Dialog"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/checkboxBtn"/>
/res/layout/logindialog.xml *다이얼로그에 보일 로그인 폼을 만듦.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="90dp"
android:layout_height="45dp"
android:layout_marginStart="16dp"
android:text="ID"
android:textSize="20sp"
android:gravity="center"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_marginStart="16dp"
android:text="Password"
android:textSize="20sp"
android:gravity="center"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/id"
android:layout_width="150dp"
android:layout_height="45dp"
android:layout_marginStart="8dp"
android:hint="id"/>
<EditText
android:id="@+id/pw"
android:layout_width="150dp"
android:layout_height="45dp"
android:layout_marginStart="8dp"
android:hint="password"
android:inputType="numberPassword" />
</LinearLayout>
</LinearLayout>
/java/com.example.dialog/MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button login = (Button)findViewById(R.id.loginBtn);
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showLoginDialog();
}
});
}
private void showLoginDialog() {
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout loginLayout = (LinearLayout) vi.inflate(R.layout.logindialog, null);
final EditText id = (EditText)loginLayout.findViewById(R.id.id);
final EditText pw = (EditText)loginLayout.findViewById(R.id.pw);
new AlertDialog.Builder(this).setTitle("Login").setView(loginLayout).setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "ID : " + id.getText().toString() + "@nPW : " + pw.getText().toString(), Toast.LENGTH_SHORT).show();
}
}).show();
}
※ 이전 다이얼로그처럼 코드를 작성해도 되고, 이렇게 다른 방식으로 작성해도 된다.
'프로젝트 기록 > android' 카테고리의 다른 글
[android/안드로이드] full screen 전체화면 예제 (0) | 2020.01.09 |
---|---|
[android/안드로이드] WebView 웹뷰 예제 (1) | 2020.01.09 |
[android/안드로이드] Dialog list, radio, check box형태의 dialog 예제 (0) | 2020.01.08 |
[android/안드로이드] Dialog button 버튼 눌러 다이얼로그 띄우기 예제 (1) | 2020.01.08 |
[android/안드로이드] 액티비티 이동하기 간단 예제 (0) | 2020.01.06 |