Wearable Action Drawer를 설치해 봤습니다.
11185 단어 AndroidWearAndroid
이루어지다
차리다
Wear용 프로젝트 제작 등의 설명은 생략합니다.
build.gradle(app)
에 다음과 같은 내용이 추가되어 있으면com.google.android.support:wearable
버전이 변경됩니다.(2017년 2월 10일 기준 2.0.0)
compile 'com.google.android.support:wearable:2.0.0'
이루어지다
Wearable Action Drawer는 레이아웃 파일에 설명되어 있습니다.
부모님은 Wearable DrawerLayout이어야 합니다.
또한 내용에 따라 Drawer를 스크롤하거나 숨기기 위해서는 NestedScrollView나 RecyclearView를 기술해야 합니다.
(NestedScrollingChild를 구현하는 View여야 함)
activity_example.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.wearable.view.drawer.WearableDrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:deviceIds="wear">
<android.support.v4.widget.NestedScrollView
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.wearable.view.BoxInsetLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_box="all"/>
</android.support.wearable.view.BoxInsetLayout>
</android.support.v4.widget.NestedScrollView>
<android.support.wearable.view.drawer.WearableActionDrawer
android:id="@+id/bottom_action_drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:action_menu="@menu/action_drawer_menu" />
</android.support.wearable.view.drawer.WearableDrawerLayout>
Wearable Action Drawer의 app:action_menu
에 설명된 메뉴 에셋을 만듭니다.action_drawer_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_android1"
android:icon="@drawable/ic_android"
android:title="Android1" />
<item
android:id="@+id/menu_android2"
android:icon="@drawable/ic_android"
android:title="Android2" />
<item
android:id="@+id/menu_android3"
android:icon="@drawable/ic_android"
android:title="Android3" />
</menu>
Activity 측 코드입니다.프로젝트 클릭을 실행하고 있는 청중.
ExampleActivity.java
import android.os.Bundle;
import android.support.wearable.activity.WearableActivity;
import android.support.wearable.view.drawer.WearableActionDrawer;
import android.view.MenuItem;
import android.widget.Toast;
public class ExampleActivity extends WearableActivity implements WearableActionDrawer.OnMenuItemClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
initViews();
}
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
Toast.makeText(this, menuItem.getTitle(), Toast.LENGTH_SHORT).show();
return false;
}
private void initViews() {
WearableDrawerLayout wearableDrawerLayout = (WearableDrawerLayout) findViewById(R.id.drawer_layout);
wearableDrawerLayout.peekDrawer(Gravity.BOTTOM);
WearableActionDrawer wearableActionDrawer = (WearableActionDrawer) findViewById(R.id.bottom_action_drawer);
wearableActionDrawer.setOnMenuItemClickListener(this);
}
}
위의 코드는 바로 이런 느낌의 레이아웃이다.사용자 정의
Overflow 아이콘 표시
레이아웃 파일의 Wearable Action Drawer에 다음 내용을 추가하면 오버플로우 아이콘이 됩니다.(기본값은 가짜)
app:show_overflow_in_peek="true"
스크롤할 때 Drawer 표시
기본적으로 스크롤 내용이 위쪽이나 아래쪽에 도달하면 Drawer가 표시되며 그렇지 않으면 숨겨집니다.
다음을 추가하여 아래에서 위로 스크롤해도 Drawer가 항상 표시됩니다.(기본값은 가짜)
wearableActionDrawer.setShouldPeekOnScrollDown(true);
보태다
Overflow 아이콘을 숨기면 메뉴 에셋의 첫 번째 아이콘이 표시되는데 왜 표시되지 않는지...
메뉴 내용이 프로그램 라이브러리의 원본 코드보다 변경되었을 때 표시도 업데이트됩니다. 시도해 보십시오.
wearableActionDrawer.getMenu().getItem(0).setTitle("hoge");
이런 코드를 써서 메뉴의 업데이트를 촉진하다오류가 발생했습니다!!
베타 버전이라 이제 수정되겠지...
추기
2017/01/27 보충:
com.google.android.support:wearable:2.0-beta2 공개
아이콘 위에 표시되지 않은 것은 변화가 없습니다.
베타2의 변경점은 ProGuard 수정, NFC 대응, iOS 대응이다.
2017/02/10 보충:
com.google.android.support:wearable:2.0이 공개되었지만 달라지지 않았습니다...
참고 자료
https://developer.android.com/wear/preview/features/ui-nav-actions.html
Reference
이 문제에 관하여(Wearable Action Drawer를 설치해 봤습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Nabe1216/items/6950a8ec9ec76b7ffca9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)