ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [4] Custom Button
    Develpment/Android Using Sample 2020. 9. 13. 21:35

    1. Custom Button


    Layout 

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.sin.custombutton.MainActivity"
        android:orientation="vertical">
     
    </LinearLayout>
     
    cs

    * 레이아웃에는 정의되어 있지 않음.


    Activity

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    public class MainActivity extends AppCompatActivity {
     
        LinearLayout activity_main;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     
            activity_main = (LinearLayout)findViewById(R.id.activity_main);
     
            for(int i = 0; i < 5; i++)
            {
                Button btn = new Button(MainActivity.this);
     
                btn.setText(String.format("Button %d", i));
                btn.setWidth( LinearLayout.LayoutParams.MATCH_PARENT );
                btn.setHeight( LinearLayout.LayoutParams.WRAP_CONTENT );
     
                btn.setOnClickListener( myClick );
     
                activity_main.addView(btn);
            }
        }
     
        View.OnClickListener myClick = new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // Event 처리
                Toast.makeText(getApplicationContext(), ((Button)view).getText().toString(), Toast.LENGTH_SHORT).show();
            }
        };
    }
     
    cs

    * 추가하려는 레이아웃의 아이디로 검색. (activity_main)

    * 추가하려는 개수 만큼 Button을 생성, 너비와 높이, 텍스트, 이벤트리스너 등을 등록.

    * addView() 를 이용하여 해당 레이아웃에 추가.


    2. 결과화면


     



    'Develpment > Android Using Sample' 카테고리의 다른 글

    [6] Menu  (0) 2020.09.13
    [5] Image Button Effect (drawable)  (0) 2020.09.13
    [3] ListView  (0) 2020.09.13
    [2] Inflater  (0) 2020.09.13
    [1] Touch Event  (0) 2020.09.13

    댓글

Designed by Tistory.