程序启动时候通过设置主体Theme的方式设置引导页,这样会使程序视觉上启动较快,不卡顿,参考以下链接:
https://blog.csdn.net/Mr_Tony/article/details/104414288
但是Theme设置引导页只能设置图片,通常情况下,直接放一张大图作为引导图,但是Android屏幕分辨率众多,会引起图片拉伸问题(.9也不好使)。这里提供以下解决方式:
通常制作的引导图,背景是纯色背景,中间有各种图标。将这些图标裁剪下来

定义drawable文件,代码如下:
对logo图片进行位置调整

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@android:color/white" /><item android:top="@dimen/dd_dp100"><bitmapandroid:gravity="top"android:src="@drawable/splash_logo" /><!-- logo图片,位于顶部 --></item><item android:bottom="@dimen/dd_dp100"><!--公司网址,位于底部 --><bitmapandroid:gravity="bottom"android:src="@drawable/splash_net" /></item>
</layer-list>

定义主题:

    <style name="AppTheme.Launcher" parent="AppTheme"><item name="windowNoTitle">true</item></style><style name="AppTheme.LauncherBg" parent="AppTheme.Launcher"><!-- windowBackground可以设置为一张图片,也可以是能解析出图片的XML文件--><item name="android:windowBackground">@drawable/layer_launcher</item></style><style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar"><item name="colorPrimary">@color/white</item><item name="colorPrimaryDark">@color/white</item><item name="colorAccent">@color/white</item><item name="android:background">@color/white</item></style>

定义空Activity,里面不写布局,代码如下:

public classSplashActivity extends AppCompatActivity {private Handler handler = new Handler();@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {setStatusBarColor(Color.WHITE,this);// 设置沉浸式字体颜色ImmersiveManage.setStatusFontColor(getWindow(), Color.WHITE);super.onCreate(savedInstanceState);handler.postDelayed(new Runnable() {@Overridepublic void run() {gotoMain();}}, 2000);}private void gotoMain() {Intent intent = new Intent(StartActivity.this, SplashActivity.class);startActivity(intent);finish();overridePendingTransition(0, 0);}@TargetApi(Build.VERSION_CODES.LOLLIPOP)public static void setStatusBarColor(int statusColor, Activity activity) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {Window window = activity.getWindow();//取消设置Window半透明的Flagwindow.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//添加Flag把状态栏设为可绘制模式window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);//设置状态栏为透明window.setStatusBarColor(statusColor);}}
}

清单文件进行注册:

<activity android:name=".login.activity.StartActivity"android:screenOrientation="portrait"android:theme="@style/AppTheme.LauncherBg"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>

Android引导页图片拉伸问题相关推荐

  1. android引导页图片全屏适配,关于图片适配不同尺寸的image View(实战)

    分享人:广州华软佐罗 一. 前言 在前端开发过程中,设计稿中往往只提供一张图片,但是app内需要用到的尺寸各种各样. 同时图片不仅是信息的直接表达,也会为网站起到美观点缀的作用,图片的变形.过分裁切会 ...

  2. Android 引导页开发管理2

    <Android 引导页开发管理1>说明的是连续页面的闪烁效果,本次文章显示的是,一张效果效果图等待3s后进入主页面. 后续开发可以显示一段flash或者其他效果图看看. 1.splash ...

  3. android 启动页大小,android引导页大图

    引导页图片一般采用本地图片打包在APK中,并且显示大小为整个屏幕,所以在显示引导页图片时有以下几点需要注意: 1. 最好使用多个尺寸的引导页来保证适配效果,比如在drawable-hdpi, draw ...

  4. Android开发--实现Android引导页

    几乎每个app都有引导页,下面我们来做一个引导页的实现. 引导页,是指软件首次进入或者更新完成后,软件显示的页面,一般展示软件特色功能或者更新的内容. 先判断是否第一次启动app,如果是,则进入引导页 ...

  5. android引导页自动轮播,Android使用ViewPager实现自动轮播

    很多APP中都实现了类似引导页的自动轮播,不由得想到昨天的引导页上修改一下代码实现轮播. 其实大体上只需要添加一个线程循环执行就可以了. 同样的先上图 直接上代码,注释都全的,我想这样更有利于理解. ...

  6. 使android中圆角图片拉伸不变形的方法

    在Android SDK中的Tools文件夹中有一个draw9patch.bat程序. 打开后如图: 将在PS中绘制好的按钮图片拖入到Draw9中如图: 在右侧的预览中可一看到原始图被拉伸变形. 在左 ...

  7. android引导页大小,Android:启动引导页实现

    2 android:layout_width=match_parent 3 android:layout_height=match_parent > 4 5 6 android:id=@+id/ ...

  8. Android 欢迎页面 引导页

    实现欢迎页和引导页需要三个Activity,一个是实现欢迎页的Activity,在这个类中我们除了加入欢迎页还会加入广告页,一般打开APP是最先进入的是这个Activity,命名为WelcomeAct ...

  9. Android将png等图片拉伸成stl文件格式用于3D打印

    用Android实现将图片拉伸成stl格式 本文是实现在Android平台上,将png.jpg等格式图片拉伸成stl格式,以便用于3D打印. 具体实现:在Android平台上,通过chaquopy方案 ...

最新文章

  1. SwiftStack迎来v5.0,向混合IT规则张开怀抱
  2. UNIX:缓冲区和重定向
  3. 全部博文集锦第三期CHM文件,及十三个经典算法研究PDF文档
  4. Anaconda下安装 TensorFlow 和 keras 以及连接pycharm
  5. C++中怎么调用C函数
  6. Centos7快速安装gcc8.3.1
  7. linux模拟发包工具,发包开源工具TRex在IPS测试中的应用
  8. 数据中心监控软件 - ManageEngine OpManager
  9. Spring AOP之动态代理方式
  10. html只能有一对body,一个HTML文档只能含有一对body标记,且body标记必须在html标记内。...
  11. Observability:Data pipeline:Beats => Redis => Logstash => Elasticsearch
  12. 用Python获取照片GPS信息
  13. 强制退出程序的六种方法!
  14. python实现视频ai换脸_Python如何实现AI换脸功能 Python实现AI换脸功能代码
  15. windows+ffmpeg+qsv实现inter核显加速视频解码编码
  16. 安恒2018.10 level1思路讲解
  17. iOS设备唯一标识符解决方案
  18. mac在终端打开mysql_如何在Mac上打开终端
  19. Uinapp中js修改css变量,【前端技术】uniapp操作dom,改变css样式
  20. VTK笔记——插值样条曲线采样

热门文章

  1. 什么是SWDM4和100G QSFP28 SWDM4光模块?
  2. 优秀网页翻译:编写自己的终端模拟器
  3. 移动云物联网预研及阿里云开发对比分析
  4. java大富翁摘要_JAVA课设——大富翁
  5. eMMC烧录镜像分区信息剖析
  6. 又一手机玩家谢幕?一代手机霸主凉了
  7. SAP中 输入计划作业价格 KP26
  8. 计算机类考研数据结构,【择校必看】十三所计算机专业课只考数据结构的985院校!...
  9. 英语口语290之每日十句口语
  10. 猫眼电影票房爬取到MySQL中_爬取猫眼电影top100,request、beautifulsoup运用