#1.141 — airplay и android

Igor Kravchenko
It_challenge
Published in
1 min readJun 12, 2019

Добавил нативную кнопку airplay. Собрал пример от Apple с android sdk.

Подсматривал реаоизацию нативных элементов:

Нативная кнопка всегда белая :D

Мой код для кнопки:

//
// NativeViewFactory.m
// Runner
//
// Created by 王加祥 on 2019/3/29.
// Copyright © 2019 The Chromium Authors. All rights reserved.
//
#import "NativeView.h"
#import <MediaPlayer/MediaPlayer.h>
@interface NativeViewFactory()
/** 参数 */
@property (nonatomic,strong) NativeView *activity;
@end
@implementation NativeViewFactory{
NSObject<FlutterBinaryMessenger>*_messenger;
}
- (void)setColor:(NSString *)string {

}
-(NSObject<FlutterMessageCodec> *)createArgsCodec{
return [FlutterStandardMessageCodec sharedInstance];
}
- (NSObject<FlutterPlatformView>*)createWithFrame:(CGRect)frame
viewIdentifier:(int64_t)viewId
arguments:(id _Nullable)args {
NativeView *activity = [[NativeView alloc] initWithWithFrame:frame viewIdentifier:viewId arguments:args binaryMessenger:_messenger];
self.activity = activity;
return activity;

}
@end
@interface NativeView ()
/** 引用 */
@property (nonatomic,strong) UIView * indicator;
@end
@implementation NativeView{
int64_t _viewId;
FlutterMethodChannel* _channel;
}
- (instancetype)initWithWithFrame:(CGRect)frame viewIdentifier:(int64_t)viewId arguments:(id)args binaryMessenger:(NSObject<FlutterBinaryMessenger> *)messenger{
if ([super init]) {
_volumeView = [[MPVolumeView alloc] init];
[_volumeView setShowsVolumeSlider:NO];
[_volumeView setShowsRouteButton:YES];
}
return self;
}
-(UIView *)view {
return _volumeView;
}
@end

Android версия не работает на моем планшете, так что я решил его перепрошить и теперь у меня почти кирпич…

Подписка на телеграмм: https://t.me/It_challenge

12.06.2019

--

--