Android开发--TableLayout中加载自写xml格式图形虚拟机上可显示,真机显示不了

本文主要是介绍Android开发--TableLayout中加载自写xml格式图形虚拟机上可显示,真机显示不了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

TableLayout中加载自写xml格式图形,虚拟机安卓7.0上可显示,真机安卓4.0显示不了,怀疑是因为版本问题,旧版本不支持直接引用drawable文件夹下的xml自写图形。于是尝试把xml自写图形换成png图片,则真机可显示出。

Java文件:只是显示页面功能而已

public class SecondActivity extends Activity {//int flag =1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
        setContentView(R.layout.second_main);
second_main.xml文件 显示表格一行两列

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:divider="@color/colorPrimaryDark"
    android:dividerPadding="1dp"
    android:showDividers="middle|end"
    >
    <TableRow>
        <TextView
            android:textSize="30sp"
            android:text="@string/boshu1"
            />
        <ImageView
            android:id="@+id/bo11"
            android:src="@drawable/picture"
            android:layout_marginLeft="1dp"
            android:layout_gravity="center"
            />
 </TableRow>

</TableLayout>
自写灰色小矩形picture.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"
    >
    <size android:height="15dp"/>
    <size android:width="70dp"/>
    <solid android:color="#E0E0E0"/>
    <stroke android:width="1dp" android:color="#D0D0D0"/>
</shape>
预览及虚拟机效果:有灰色小矩形出现

真机效果:无灰色小矩形出现


没有查到相关资料。

我怀疑是低版本的android不支持TableLayout直接引用drawable文件下的自写xml图形。

于是改进,让TableLayout直接引用png格式图片。真机也能显示出预览和虚拟机的效果了。



思路:

真机测试图片显示不出来-->使用虚拟机测试,图片显示出来-->查看真机虚拟机版本(于是怀疑是因为版本不支持造成的,但是编译时没有提示版本不支持信息)-->版本不支持的是什么功能?引用自写xml图形的用法不常见,于是怀疑是这种方法不通用-->改引用Png格式图片,真机虚拟机都可现实-->怀疑是旧版本不支持直接引用自写xml图形。


实现方法一:

“TableLayout中<TableRow>子控件的默认高和宽都是wrap_content”,此规则适用于<ImageView>src引用png格式。这种方法显示的是图片实际像素,不同分辨率手机呈现效果会不同。推荐第二种方法。

实现方法二:

<ImageView>指定height,width后,src引用xml自定义图形或者background引用.9.png。


主要是图片主要应该引用.9.png,而我非要尝试引用xml格式自定义图片,才会出现不明情况

这篇关于Android开发--TableLayout中加载自写xml格式图形虚拟机上可显示,真机显示不了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/388848

相关文章

基于Java开发一个极简版敏感词检测工具

《基于Java开发一个极简版敏感词检测工具》这篇文章主要为大家详细介绍了如何基于Java开发一个极简版敏感词检测工具,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录你是否还在为敏感词检测头疼一、极简版Java敏感词检测工具的3大核心优势1.1 优势1:DFA算法驱动,效率提升10

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)

《MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)》本文给大家介绍MyBatis的xml中字符串类型判空与非字符串类型判空处理方式,本文给大家介绍的非常详细,对大家的学习或... 目录完整 Hutool 写法版本对比优化为什么status变成Long?为什么 price 没事?怎

SpringBoot加载profile全面解析

《SpringBoot加载profile全面解析》SpringBoot的Profile机制通过多配置文件和注解实现环境隔离,支持开发、测试、生产等不同环境的灵活配置切换,无需修改代码,关键点包括配置文... 目录题目详细答案什么是 Profile配置 Profile使用application-{profil

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用