我终于想出了一个(主要是复制粘贴代码)在应用程序中播放动画GIF的简单方法,以便我可以将它用作预加载器。我在DialogFragment
内使用WebView
。一切都很好,除了图像显示在屏幕的左角,垂直居中。这是我在DialogFragment
内的代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_please_wait, container, false);
WebView gifPlayer = (WebView) view.findViewById(R.id.gifPlayer);
gifPlayer.loadUrl("file:///android_asset/img/preloader_7.gif");
gifPlayer.setBackgroundColor(0x00000000);
// http://stackoverflow.com/questions/9698410/position-of-dialogfragment-in-android
getDialog().getWindow().setGravity(Gravity.CENTER);
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
getDialog().getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
return view;
}
和我的XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:background="@android:color/transparent"
android:orientation="vertical" >
<WebView
android:background="@android:color/transparent"
android:id="@+id/gifPlayer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
如何将其放置在屏幕中央?
答案 0 :(得分:0)
只需在webview标记中添加xml文件即可: 机器人:layout_gravity = “中心”
答案 1 :(得分:0)
Youre RelativeLayout的宽度必须为“fill_parent”才能生效。
你的编辑应该给你一个警告,至少Android Studio会这样做。
试试这个:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:gravity="center"
android:background="@android:color/transparent"
android:orientation="vertical" >
<WebView
android:background="@android:color/transparent"
android:id="@+id/gifPlayer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />