среда, 14 ноября 2012 г.

Создание Custom Dialog (часть 1. Отклик при нажатии на Button)


В этом уроке будет описано


  1. Как сделать отклик при нажатии на кнопку (Button)
  2. Как создать custom dialog
  3. Как сделать внешний вид для  custom dialog
  4. Как  сделать Spinner

В прошлом уроке было показано, как сделать Button (кнопку).
1.Теперь сделаем, чтобы при нажатии на кнопку  происходило какое-нибудь действие ,
например, менялась надпись на кнопке .
Для этого в методе MainActivity надо прописать

//находим Button
Button b_dialog = (Button)findViewById(R.id.b_custom_dialog_id);
    
//Прописываем действие при нажатии
b_dialog.setOnClickListener( new View.OnClickListener() {
           
public void onClick(View v) {
           
//действие. Изменение надписи на кнопке
b_dialog.setText(“Clicked”);       
           
            }
      });



Потребуется еще поменять Button на final, т.к. иначе на нее нельзя будет ссылаться
Т.е.
final Button b_dialog = (Button)findViewById(R.id.b_custom_dialog_id);




















Окно, появляющееся при открытии приложения





















После нажатия на Button




Те же самые действия, но на видео


Полный код
//MainActivity.java
package my.ambar.dialog;


import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;


public class MainActivity extends Activity {


 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
   
     final Button b_dialog = (Button)findViewById(R.id.b_custom_dialog_id);
    
    
     b_dialog.setOnClickListener(new View.OnClickListener() {
  
  public void onClick(View v) {

   b_dialog.setText("Clicked");
  
  }
 });

    }
 
}



//main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

 
    <Button 
        android:id="@+id/b_custom_dialog_id"
        android:layout_width="120dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="100dp"
        android:layout_centerHorizontal="true"
        android:text="@string/b_custom_dialog"/>
    
   
</RelativeLayout>



//strings.xml
<resources>

    <string name="app_name">Custom_Dialog</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_main">MainActivity</string>
    <string name="b_custom_dialog">Open Dialog</string>
   
</resources>




Комментариев нет:

Отправить комментарий