알림 사용자 정의 인터페이스

머리말
이전에 핸드폰 플레이 어 를 만 들 려 면 알림 표시 줄 에 재생 을 제어 하 는 화면 을 표시 해 야 합 니 다.다음 과 같 습 니 다.
这里写图片描述
이것 은 서 비 스 를 프론트 데스크 에서 실행 하면 실현 할 수 있 습 니 다.(제 앞의 글서비스 가 프론트 데스크 에서 실 행 됩 니 다.을 참고 할 수 있 습 니 다.오늘 우 리 는 Notification 의 사용자 정의 인터페이스 를 실현 해 야 합 니 다.물론 위의 그림 과 같이 실현 되 지 않 고 다음 의 간단 한 인터페이스 입 니 다.자신의 수요 에 따라 자신 이 원 하 는 인터페이스 를 구축 해 야 합 니 다.
这里写图片描述
이 를 통 해 알 수 있 듯 이 저 는 간단 한 화면 을 실 현 했 습 니 다.ImageView 와 Button 을 포함 하여 어떻게 실현 해 야 하 는 지 말씀 드 리 겠 습 니 다.사실은 간단 합 니 다.
이루어지다
우선 우 리 는 인터페이스 파일 을 준비 해 야 한다.
notification.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_marginTop="10dp"
 android:layout_marginBottom="10dp"
 android:background="#333300"
 android:layout_width="match_parent"
 android:layout_height="match_parent">
 <ImageView
  android:paddingLeft="20dp"
  android:layout_width="70dp"
  android:layout_height="50dp"
  android:src="@drawable/ic_qiuda"
  />
 <Button
  android:layout_marginLeft="30dp"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="   "
  />
</LinearLayout>
그리고 Service 의 하위 클래스 를 새로 만 듭 니 다.MyService:

public class MyService extends Service {

 public static final String TAG = "MyService";

 @Override
 public void onCreate() {
  super.onCreate();
  Notification notification = new Notification(R.drawable.ic_launcher,
    "JcMan", System.currentTimeMillis());
  RemoteViews view = new RemoteViews(getPackageName(),R.layout.notification);
  notification.contentView = view;
  startForeground(1, notification);

 }
 @Override
 public IBinder onBind(Intent intent) {
  return null;
 }
}
이 를 통 해 알 수 있 듯 이 onCreate 방법 에서 우리 가 설정 한 인 터 페 이 스 는 Layout Inflater 로 인 터 페 이 스 를 얻 는 것 이 아니 라 RemoteViews 로 새로운 인 터 페 이 스 를 만 드 는 것 입 니 다.구조 방법 은 패키지 이름과 인터페이스 자원 의 ID 를 입력 하면 됩 니 다.그리고 notification.contentView 를 우리 가 새로 나 온 사용자 정의 인터페이스 로 설정 하면 됩 니 다.
작은 매듭
일반적인 Notification 은 알림 을 할 수 있 지만 특별한 수요 가 있 을 때 사용자 정의 인터페이스 가 필요 합 니 다.그리고 가끔 은 사용자 정의 인터페이스 에 클릭 하 는 방법 을 추가 해 야 합 니 다.예 를 들 어 위의 화면 에 Button 이 Button 의 클릭 에 어떻게 응답 하 는 지 하 는 것 은 어 려 운 문제 입 니 다.이것 은 간단 한 setOnClickListener 가 아니 기 때문에 다른 실현 이 필요 합 니 다.방송 체 제 를 사용 해 야 합 니 다.저 는 다음 글 에서 Notification 의 사용자 정의 인터페이스 에 클릭 이 벤트 를 추가 하 는 방법 을 설명 할 것 입 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기