安卓点九图中的一些坑

关于点九图的一些使用(踩坑)经验

网上有很多关于点九图的使用,这里不一一叙述,只要记住一点,点九图是用来给简单可拉伸的适配方案。先看效果图:

图一

图1

图二

在这里插入图片描述
再看代码

<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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="wrap_content">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.raoqian.ninepngtestapplication.MainActivity">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="20dp"
            android:background="@android:color/white"
            android:src="@drawable/login_submit_focus" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@drawable/login_submit_focus"
            android:text="drawable/login_submit_focus.png"
            android:textColor="@android:color/holo_red_dark" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@drawable/xh_login_submit_focus"
            android:text="drawable/xh_login_submit_focus"
            android:textColor="@android:color/holo_red_dark" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@drawable/xxh_login_submit_focus"
            android:text="drawable/xxh_login_submit_focus"
            android:textColor="@android:color/holo_red_dark" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@drawable/n_login_submit_2"
            android:text="drawable/n_login_submit_2"
            android:textColor="@android:color/holo_red_dark" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@drawable/n_xh_login_submit_2"
            android:text="drawable/n_xh_login_submit_2"
            android:textColor="@android:color/holo_red_dark" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@drawable/n_xxh_login_submit_2"
            android:text="drawable/n_xxh_login_submit_2"
            android:textColor="@android:color/holo_red_dark" />

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white"
            android:src="@drawable/n_show22" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@drawable/show22"
            android:text="drawable/show22"
            android:gravity="center"
            android:textColor="@android:color/holo_red_dark" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@drawable/n_show22"
            android:text="drawable/n_show22"
            android:textColor="@android:color/holo_red_dark" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@drawable/n_m_show22"
            android:text="drawable/n_m_show22"
            android:textColor="@android:color/holo_red_dark" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@drawable/n_xh_show22"
            android:text="drawable/n_xh_show22"
            android:textColor="@android:color/holo_red_dark" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@drawable/n_xxh_show22"
            android:text="drawable/n_xxh_show22"
            android:textColor="@android:color/holo_red_dark" />

    </LinearLayout>
</ScrollView>

而图二与图一的差别就是每一个TextView多了一个 android:gravity=“center”
其中第一块 图是一个899X146 的 png图片(老项目的做法,仅作示例),而第二个图是40X40的一个图片,而出现不同效果的原因相比部分看官已经知道了,一下没反应过来的请看下面:
在这里插入图片描述
看到括号里面的字没,现在大部分的点九图介绍都是说是放在drawable文件夹下的一个,但是没有介绍点九图 和 不同的尺寸文件夹会发生什么样的化学反应,原理我就不说了,反正我也不知道,给大家分享一下我的结论吧:

  • 点九图来源图使用尺寸小的,填充部分尽量由拉伸而来,如果用比较大的尺寸的话一定要注意填充区域,像图中第一部分的第四张图内容区域就直接被挤到没有了
  • 实在要用大图的话一定要注意填充位置,像放在xxh中的图片经历的过程是:先图片压缩到最小尺寸–>在点九图中标记位置进行拉伸,所以填充位置会有问题(图一中后面三个,尤其是有一个没有位置填充内容了)

猜你喜欢

转载自blog.csdn.net/raoqian156/article/details/83586089
今日推荐