android studio 双屏,Android Presentation双屏异显,副屏的操作

最近有一个双屏显示的需求,当时一脸蒙逼完全不知如何着手,不负众望找到解决办法,在Android4.2版本以后提供了Presentation类,可以轻松实现在两块屏幕上同时显示不同的内容。做一下笔记。

Presentation是一个特殊的dialog,它的目的是显示内容到第二屏幕。在Presentation创建的时候关联一个目标设备,确定Presentation要显示在那个设备上,根据这个设备的信息来配置Presentation的context和resources信息。

上代码

public class MainActivity extends AppCompatActivity {

private WebView webView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

webView = findViewById(R.id.webView);

webView.loadUrl("https://www.baidu.com/");

webView.getSettings().setJavaScriptEnabled(true);

//这里面是主要的代码

setCustomerProductList();

}

@SuppressLint("NewApi")

private void setCustomerProductList() {

DisplayManager displayManager = (DisplayManager) getSystemService(Context.DISPLAY_SERVICE);

Display[] presentationDisplays = displayManager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION);

if (presentationDisplays.length > 0) {

Display display = presentationDisplays[0];

Presentation presentation = new DifferentDislay(this, display);

presentation.show();

}

}

}

新建一个类继承Presentation

public class DifferentDislay extends Presentation {

public DifferentDislay(Context outerContext, Display display) {

super(outerContext,display);

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_home);

}

}

在副屏操作,或者跳转页面

public class DifferentDislay extends Presentation {

private Context context;

private TextView img;

private Display display;

public DifferentDislay(Context outerContext, Display display) {

super(outerContext,display);

this.context = outerContext;

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_home);

img = findViewById(R.id.img);

img.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Presentation presentation = new PresentationActivity(context, display);

presentation.show();

}

});

}

}

副屏跳转页面是跳转到新建的一个Presentation

别忘了加权限

来源:oschina

链接:https://my.oschina.net/u/4386848/blog/4287474