-
[4] Custom ButtonDevelpment/Android Using Sample 2020. 9. 13. 21:35
1. Custom Button
Layout
123456789101112131415<?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
12345678910111213141516171819202122232425262728293031323334public class MainActivity extends AppCompatActivity {LinearLayout activity_main;@Overrideprotected 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() {@Overridepublic 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