MuPDF for Android: Option for fragment instead Activity(MuPDF for Android:片段选项而不是活动)
问题描述
在我现有的 android 应用程序中,我使用 MuPDF,我在 这个文档.现在,当我想在活动中打开 pdf 文件时,我使用:uri uri = Uri.parse(路径);
In my existing android app, Im using MuPDF, which i ported with help of this doc. Now when i want to open pdf files inside activity i use : Uri uri = Uri.parse(path);
Intent intent = new Intent(this, MuPDFActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);
触发一个新活动,我的问题是:(1)如何启动 Fragment 来查看 pdf?(2) MuPDF 是否支持我可以在我的 currant Android-Tab-View 下调用的 Fragment?(3) 有没有办法把这个activity转化成fragment?
which fires a new activity, My problem is: (1) how can I start Fragment to view pdf? (2) Does MuPDF supports Fragment that I can call under my currant Android-Tab-View? (3) Is there a Way Converting this activity into fragment?
目前我在做:
public class DummySectionFragment extends Fragment {
public DummySectionFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = null;
rootView = inflater.inflate(R.layout.activity_dummy_section_fragment, container, false);
Intent myIntent = new Intent(getActivity(), MuPDFActivity.class);
myIntent.setAction(Intent.ACTION_VIEW);
myIntent.setData(uri);
getActivity().startActivity(myIntent);
return rootView;
}
}
Which:在我当前的选项卡视图布局上打开一个新活动,它看起来不太好,因为它涵盖了整个选项卡布局并且用户必须单击 BACK 按钮才能查看选项卡视图.
Which: opens a new activity on my current Tab View layout, which does not look great as it covers entire tab layout and user have to click BACK button to view tab view.
推荐答案
也许你不应该在你的项目中使用 MuPDFActivity - 这只是 Mupdf 工作原理的一个例子.您需要的只是 MuPDFReaderView/MuPDFCore/MuPDFPageAdapter.MuPDFReaderView 从 View/ViewGroup 扩展,因此您可以将其添加到您的布局中.像这样尝试(完全未经测试!):
Maybe you shouldn't use the MuPDFActivity in your project - it's just an example how Mupdf works. All what you need is the MuPDFReaderView/MuPDFCore/MuPDFPageAdapter. MuPDFReaderView extends from View/ViewGroup, so you can just add it to your layout. Try it like this (totally untested!!):
1.) XML --> 片段的基本布局(mupdf_wrapper.xml):
1.) XML --> The base layout for the fragment (mupdf_wrapper.xml):
<RelativeLayout
android:id="@+id/mupdf_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</RelativeLayout>
2.) JAVA:
public class DummySectionFragment extends Fragment {
public DummySectionFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = null;
rootView = inflater.inflate(R.layout.mupdf_wrapper, container, false);
RelativeLayout mupdfWrapper (RelativeLayout)rootView.findViewById(R.id.mupdf_wrapper);
String path = "path/To/Your/PDF/File.pdf";
MuPDFCore core = new MuPDFCore(getActivity(), path);
MuPDFReaderView mDocView = new MuPDFReaderView(getActivity());
mDocView.setAdapter(new MuPDFPageAdapter(getActivity(), getActivity(), core));
mupdfWrapper .addView(mDocView, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
return rootView;
}
}
这篇关于MuPDF for Android:片段选项而不是活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:MuPDF for Android:片段选项而不是活动
基础教程推荐
- 如何从 logcat 中删除旧数据? 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- iOS4 创建后台定时器 2022-01-01
