Wear와 View를 사용한 GridViewPager
11287 단어 AndroidWearAndroid
GridViewPager
는 안드로이드 웨어용 새 뷰입니다.ViewPager
는 교환을 통해 좌우 페이지로 이동할 수 있고, GridViewPager
는 명칭과 같이 ViewPager
의 격자판으로 상하 좌우 페이지로 이동할 수 있다.차리다
Wear 모듈의build 입니다.gradle에서 다음 의존 관계를 설정합니다.Android Studio에 Wear 모듈을 추가하거나 Wear가 포함된 항목을 새로 만들면 다음 설정이 자동으로 수행됩니다.compile 'com.google.android.support:wearable:+'
GridViewPager 사용
배치
activity_main.xml<android.support.wearable.view.GridViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridViewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
어댑터 설정
ViewPager
역시 어댑터를 설치해야 합니다.디테일을 많이 생략하고 간단하게 하면 이런 느낌이에요.
MainActivity.javapublic class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final GridViewPager gridViewPager = (GridViewPager) findViewById(R.id.gridViewPager);
gridViewPager.setAdapter(new MyAdapter(getFragmentManager()));
}
}
어댑터 만들기
연결기는 GridPagerAdapter
를 사용했는데 이번에는 그 부급FragmentGridPagerAdapter
을 사용해 보았다.
FragmentGridPagerAdapter의 구조기와 추상적인 방법
제작FragmentGridPagerAdapter
된 하위 클래스는 IDE가 최소한의 필요한 구조기와 방법을 자동으로 생성하게 하면 이런 느낌이 든다.public static class MyAdapter extends FragmentGridPagerAdapter {
public MyAdapter(final FragmentManager fm) {
super(fm);
}
@Override
public Fragment getFragment(final int row, final int column) {
return null;
}
@Override
public int getRowCount() {
return 0;
}
@Override
public int getColumnCount(final int row) {
return 0;
}
}
FragmentGridPagerAdapter
얻은 구조기를 정의했기 때문에 하위 구조기로 적절하게 호출해야 한다.FragmentManager
방법은 주어진 줄과 열getFragment
과 row
에 대응하는 부분을 되돌려줍니다.column
방법은 줄 수를 되돌려주고, getRowCount
방법은 주어진 줄에 대응하는 열 수를 되돌려준다.
예를 들어, 3행 4열의 페이지 구조를 원한다면 다음 절차를 따르십시오.@Override
public int getRowCount() {
return 3;
}
@Override
public int getColumnCount(final int row) {
return 4;
}
행수 열수가 변할 수 있는 경우, 예를 들면 이런 느낌.@Override
public int getRowCount() {
return categories.size();
}
@Override
public int getColumnCount(final int row) {
final List<Page> pages = categories.get(row).getPages();
return pages.size();
}
배경 설정
페이지당 배경getColumnCount
을 설정하려면 교차해야 합니다.@Override
public ImageReference getBackground(final int row, final int column) {
return ImageReference.forDrawable(R.drawable.background);
}
getBackground
ImageReference
와forBitmap
,forDrawable
세 가지forImageUri
방법으로 간단하게 생성할 수 있다.
CardFragment 사용 static
의 FragmentGridPagerAdapter
방법을 사용하면 세션을 되돌려야 합니다.물론 이곳에서도 보통getFragment
을 이용할 수 있지만, 오랜만에 새로 등장한 위어Fragment
로 하자.제목과 설명(다음 아이콘)만 표시하면 되며, 레이아웃CardFragment
에 얽매이지 않으면 한순간에 완성할 수 있다.
이런 것을 만들다CardFragment
는 단지 이렇게 기술할 뿐이다.CardFragment.create("title", "description", R.drawable.ic_launcher);
마지막 매개 변수에 아이콘을 지정했습니다. 이것은 옵션입니다.
사용자 정의 레이아웃
자신이 정의한 레이아웃을 사용하고 싶을 때 계승CardFragment
, 적당히 중첩CardFragment
방법.onCreateContentView
는 매개 변수와 같고 사용이 편리하다.
CardFragment 설정
전개 금지
기본적으로 이전 예시에서 'description' 을 표시하는 부분은 표시할 문자 수에 따라 수직으로 펼쳐집니다.이 작업을 금지하려면 중간에 표시할 문자를 자르고 스크롤하지 않으려면 다음과 같이 설정합니다.cardFragment.setExpansionEnabled(false);
확장 방향 구성
문자가 많을 때 카드가 펼쳐지는 방향을 설정합니다.cardFragment.setExpansionDirection(CardFragment.EXPAND_UP);
Fragment#onCreateView
의 경우(기본값)
EXPAND_DOWN
의 경우
최대 높이 설정
카드 높이의 최대치를 설정할 수 있는 것은 부모의 높이의 몇 배다.// 最大でも親の1.5倍の高さ
cardFragment.setExpansionFactor(1.5f);
카드의 사진 설정
카드의 사진 오목판을 설정하다.cardFragment.setCardGravity(Gravity.TOP);
기본값은 EXPAND_UP
입니다.설정Gravity.DOWN
또는 Gravity.TOP
만 가능합니다.
Reference
이 문제에 관하여(Wear와 View를 사용한 GridViewPager), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ngsw_taro/items/2b3ae18312770429f93a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
compile 'com.google.android.support:wearable:+'
배치
activity_main.xml
<android.support.wearable.view.GridViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridViewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
어댑터 설정
ViewPager
역시 어댑터를 설치해야 합니다.디테일을 많이 생략하고 간단하게 하면 이런 느낌이에요.MainActivity.java
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final GridViewPager gridViewPager = (GridViewPager) findViewById(R.id.gridViewPager);
gridViewPager.setAdapter(new MyAdapter(getFragmentManager()));
}
}
어댑터 만들기
연결기는
GridPagerAdapter
를 사용했는데 이번에는 그 부급FragmentGridPagerAdapter
을 사용해 보았다.FragmentGridPagerAdapter의 구조기와 추상적인 방법
제작
FragmentGridPagerAdapter
된 하위 클래스는 IDE가 최소한의 필요한 구조기와 방법을 자동으로 생성하게 하면 이런 느낌이 든다.public static class MyAdapter extends FragmentGridPagerAdapter {
public MyAdapter(final FragmentManager fm) {
super(fm);
}
@Override
public Fragment getFragment(final int row, final int column) {
return null;
}
@Override
public int getRowCount() {
return 0;
}
@Override
public int getColumnCount(final int row) {
return 0;
}
}
FragmentGridPagerAdapter
얻은 구조기를 정의했기 때문에 하위 구조기로 적절하게 호출해야 한다.FragmentManager
방법은 주어진 줄과 열getFragment
과 row
에 대응하는 부분을 되돌려줍니다.column
방법은 줄 수를 되돌려주고, getRowCount
방법은 주어진 줄에 대응하는 열 수를 되돌려준다.예를 들어, 3행 4열의 페이지 구조를 원한다면 다음 절차를 따르십시오.
@Override
public int getRowCount() {
return 3;
}
@Override
public int getColumnCount(final int row) {
return 4;
}
행수 열수가 변할 수 있는 경우, 예를 들면 이런 느낌.@Override
public int getRowCount() {
return categories.size();
}
@Override
public int getColumnCount(final int row) {
final List<Page> pages = categories.get(row).getPages();
return pages.size();
}
배경 설정
페이지당 배경
getColumnCount
을 설정하려면 교차해야 합니다.@Override
public ImageReference getBackground(final int row, final int column) {
return ImageReference.forDrawable(R.drawable.background);
}
getBackground
ImageReference
와forBitmap
,forDrawable
세 가지forImageUri
방법으로 간단하게 생성할 수 있다.CardFragment 사용 static
의 FragmentGridPagerAdapter
방법을 사용하면 세션을 되돌려야 합니다.물론 이곳에서도 보통getFragment
을 이용할 수 있지만, 오랜만에 새로 등장한 위어Fragment
로 하자.제목과 설명(다음 아이콘)만 표시하면 되며, 레이아웃CardFragment
에 얽매이지 않으면 한순간에 완성할 수 있다.
이런 것을 만들다CardFragment
는 단지 이렇게 기술할 뿐이다.CardFragment.create("title", "description", R.drawable.ic_launcher);
마지막 매개 변수에 아이콘을 지정했습니다. 이것은 옵션입니다.
사용자 정의 레이아웃
자신이 정의한 레이아웃을 사용하고 싶을 때 계승CardFragment
, 적당히 중첩CardFragment
방법.onCreateContentView
는 매개 변수와 같고 사용이 편리하다.
CardFragment 설정
전개 금지
기본적으로 이전 예시에서 'description' 을 표시하는 부분은 표시할 문자 수에 따라 수직으로 펼쳐집니다.이 작업을 금지하려면 중간에 표시할 문자를 자르고 스크롤하지 않으려면 다음과 같이 설정합니다.cardFragment.setExpansionEnabled(false);
확장 방향 구성
문자가 많을 때 카드가 펼쳐지는 방향을 설정합니다.cardFragment.setExpansionDirection(CardFragment.EXPAND_UP);
Fragment#onCreateView
의 경우(기본값)
EXPAND_DOWN
의 경우
최대 높이 설정
카드 높이의 최대치를 설정할 수 있는 것은 부모의 높이의 몇 배다.// 最大でも親の1.5倍の高さ
cardFragment.setExpansionFactor(1.5f);
카드의 사진 설정
카드의 사진 오목판을 설정하다.cardFragment.setCardGravity(Gravity.TOP);
기본값은 EXPAND_UP
입니다.설정Gravity.DOWN
또는 Gravity.TOP
만 가능합니다.
Reference
이 문제에 관하여(Wear와 View를 사용한 GridViewPager), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ngsw_taro/items/2b3ae18312770429f93a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
CardFragment.create("title", "description", R.drawable.ic_launcher);
cardFragment.setExpansionEnabled(false);
cardFragment.setExpansionDirection(CardFragment.EXPAND_UP);
// 最大でも親の1.5倍の高さ
cardFragment.setExpansionFactor(1.5f);
cardFragment.setCardGravity(Gravity.TOP);
Reference
이 문제에 관하여(Wear와 View를 사용한 GridViewPager), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ngsw_taro/items/2b3ae18312770429f93a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)