我在此布局中看到了一个gif
图片的醒目页面:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Splash">
<pl.droidsonroids.gif.GifImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:cropToPadding="true"
android:scaleType="fitXY"
android:src="@drawable/fneclis_splash_bg"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
我创建了所有布局尺寸(小,常规,大和xlarge),并对gif
图像(ldpi,mdpi,hdpi,xhdpi,xxhdpi和xxxhdpi)做了同样的事情。
我的问题是小布局占用了mdpi gif图像大小,普通布局占用了xxhdpi图像大小,其他布局也存在相同的问题。
我认为问题可能出在这里,因为它包含有关“标题”和全屏显示的几行内容 这是启动代码:
package com.medanis.fneclis
import android.content.DialogInterface
import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler
import android.view.View
import android.view.ViewConfiguration
import android.view.Window
import android.view.WindowManager
import android.widget.MediaController
import pl.droidsonroids.gif.GifDrawable
import pl.droidsonroids.gif.GifImageButton
class Splash : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//hiding title bar of this activity
window.requestFeature(Window.FEATURE_NO_TITLE)
//making this activity full screen
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)
setContentView(R.layout.activity_splash)
//2.63second splash time
Handler().postDelayed({
//start main activity
startActivity(Intent(this, MainActivity::class.java))
//finish this activity
finish()
},2630)
val gib = GifImageButton(this)
setContentView(gib)
gib.setImageResource(R.drawable.fneclis_splash_bg)
val mc = MediaController(this)
mc.setMediaPlayer(gib.drawable as GifDrawable)
mc.setAnchorView(gib)
gib.setOnClickListener(object : DialogInterface.OnClickListener, View.OnClickListener {
override fun onClick(p0: View?) {
mc.show()
}
override fun onClick(p0: DialogInterface?, p1: Int) {
mc.show()
}
})
}
}
这可能是什么原因?请帮我,谢谢。
答案 0 :(得分:0)
android:scaleType="fitXY" to android:scaleType="centerCrop"
好的,因此centerCrop用于均匀缩放图像,同时保持图像或gif的长宽比。而对于fitXY,它仅适合图像的父视图,而不考虑纵横比。