가중치 작업을 하신다면 보통은 LinearLayout로 작업을 하실텐데요.
저는 몇가지 방법을 사용하는데 마진 자체도 LinearLayout으로 잡는 경우가 있지만 가중치 작업이 많아지면
해상도에 따라 Activity 로딩속도가 현저히 줄어들죠.
부모 Layout를 아래와 같이 한번 해보시겠어요?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center" >
<!-- 버튼 작업 -->
</LinearLayout>
layout_gravity : 뷰 자체의 정렬 상태를 지정, 부모뷰에서 현재의 뷰를 어디에 놓을 것인지를 지정
버튼의 부모 레이아웃의 부모의 기준으로 중앙 배치 후 버튼을 정렬하시면 될것 같습니다.