본문 바로가기

Android

[10일차] Toolbar,MeterialDesign

액션바랑 똑같은건데 커스텀을 해줄 수 있다. 



툴바의 모양은 액션바와 똑같다 이거를 맘대로 화면에 배치해서 쓸 수 있다. 



앱테마를 상속한 스타일을 만든다. 



테마를 이렇게 만들면 타이틀이 안보인다. 


이걸 적용하려면 메니페스트에 테마를 적용해야 한다. 



Meterial Design


구글의 디자인 가이드 라인.




안해도 되지만 따라가면 친숙한 UI가 된다.  그래서 Meterial Design이 중요한다. 



며오학한 색깔로 만들어서 아름답고 직관적인 자연스러운 애니메이션.


질감이 느껴지는 특징?  깊이라는 것을 둔 것이다. 


색깔 같은경우에도 미리 만들어서 이렇게 쓴다 식으로 배포하고 있다. 


색하고 아이콘을 만들어서 배포한다.

카드뷰를 저렇게 배치하려면 기본적으로 마진값을 가져야한다. 


마진값이 있어야 그림값으ㅡㄹ 그릴수가 잆다. 


네비게이션 뷰를 만든다. 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:layout_width="wrap_content" // 헤더뷰를 만들었다.
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:layout_gravity="center_horizontal"
android:src="@mipmap/ic_launcher" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/text_name"
android:layout_gravity="center_horizontal" />
</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
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.begentgroup.sampledesignsupport.MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
<android.support.design.widget.NavigationView // 네비게이션 뷰 선언 외부 라이브러리 임포트
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:headerLayout="@layout/menu_header" //만든 헤더 레이아웃을 여기에
app:menu="@menu/navi_menu" //만든 메뉴를 여기에
/>
</RelativeLayout>

public class MainActivity extends AppCompatActivity implements
NavigationView.OnNavigationItemSelectedListener{

NavigationView naviView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
naviView = (NavigationView)findViewById(R.id.navigation_view); // 네비게이션 뷰 선언
View headerView = naviView.getHeaderView(0); // 헤더뷰 선언
TextView nameView = (TextView)headerView.findViewById(R.id.text_name);// 텍스트뷰
nameView.setText("ysi"); // 텍스트뷰 세팅
naviView.setNavigationItemSelectedListener(this);// 리스너를 등록해서 눌릴때마다 띄우기
}

@Override
public boolean onNavigationItemSelected(MenuItem item) { // 리스너 구현
switch (item.getItemId()) {
case R.id.menu_add :
case R.id.menu_get :
case R.id.menu_delete :
Toast.makeText(this, "menu : " + item.getTitle(), Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
}


'Android' 카테고리의 다른 글

[11일차] Meterial Design 탭,텍스트 인풋,FloationActionButton,appBarLayout  (0) 2016.07.27
[10일차]TabLayout  (1) 2016.07.26
[10일차] UpNavigation  (0) 2016.07.26
[10일차]ActionBar  (0) 2016.07.26
[10일차] ActionMode  (0) 2016.07.26