为什么ImageView中显示不了位图文件?

iceli 2014-03-11 10:22:23
布局文件test_bitmap.xml,添加两个ImageView组件来显示图标,其中第一个直接引用g1.jpg,第二个在java中进行设置。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#000000"
>

<TextView
android:text="测试位图资源"
android:id="@+id/bitmapTextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>

<ImageView
android:id="@+id/bitmapImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/g1"></ImageView>

<ImageView
android:id="@+id/bitmapImageView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></ImageView>

</LinearLayout>

创建TestBitmapActivity类
package com.amaker.ch03_resource.drawable;

import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.ImageView;

public class TestBitmapActivity extends Activity {
private ImageView myImageView;

public void onCreat(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.test_bitmap);
myImageView=(ImageView)findViewById(R.id.bitmapImageView02);
Resources r=getResources();
Drawable d=r.getDrawable(R.drawable.moto);
myImageView.setImageDrawable(d);
}

}

没有错误,但是位图文件不显示,窗口是空白的。本人刚学android,请问是什么原因?
...全文
330 24 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
iceli 2014-03-12
  • 打赏
  • 举报
回复
重新建了工程,把之前的核心代码粘贴进去就ok了。以前是用了以前的工程,只改了src和layout下面的文件。下面是改后的代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".TestBitmapActivity" >

    <TableLayout         
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <TableRow android:gravity="center_horizontal">
        <TextView 
        android:text="测试位图资源"
        android:id="@+id/bitmapTextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></TextView>
       </TableRow>

    <TableRow android:gravity="center_horizontal">
    <ImageView 
        android:id="@+id/bitmapImageView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/g1"></ImageView>
     </TableRow>
    
    <TableRow android:gravity="center_horizontal">
     <ImageView
        android:id="@+id/bitmapImageView02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></ImageView>
     </TableRow>
     </TableLayout>

</RelativeLayout>
package com.amaker.ch03_drawable;

import com.amaker.ch03_drawable.R;

import android.os.Bundle;
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.Menu;
import android.widget.ImageView;

public class TestBitmapActivity extends Activity {
	private ImageView myImageView=null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_test_bitmap);
		myImageView=(ImageView)this.findViewById(R.id.bitmapImageView02);
		//Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.moto);
	    //myImageView.setImageResource(R.drawable.moto);
		Resources r=getResources();
		Drawable d=r.getDrawable(R.drawable.moto);
		if(null==d)
			Log.d("drawable is null", null);
		myImageView.setImageDrawable(d);
	}

}
iceli 2014-03-11
  • 打赏
  • 举报
回复
引用 2 楼 afairycell 的回复:
是不是图片的问题??
换过图片,还是不行。不知道这个图片有什么要求?
afairycell 2014-03-11
  • 打赏
  • 举报
回复
是不是图片的问题??
afairycell 2014-03-11
  • 打赏
  • 举报
回复
布局写了啥?
iceli 2014-03-11
  • 打赏
  • 举报
回复
引用 22 楼 u010119353 的回复:
[quote=引用 20 楼 woaili03019 的回复:] [quote=引用 19 楼 u010119353 的回复:] [quote=引用 18 楼 woaili03019 的回复:] [quote=引用 13 楼 u010119353 的回复:] Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.moto); myImageView.setImageBitmap(bitmap);
还是空白,没有图片显示。[/quote] 你的moto是什么格式的?bmp?[/quote]moto是jpg格式的,g1是png格式的。[/quote] 不应该有没问题的啊,你把private ImageView myImageView;改成private ImageView myImageView=null;试试[/quote]还是没显示
milo_c 2014-03-11
  • 打赏
  • 举报
回复
引用 20 楼 woaili03019 的回复:
[quote=引用 19 楼 u010119353 的回复:] [quote=引用 18 楼 woaili03019 的回复:] [quote=引用 13 楼 u010119353 的回复:] Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.moto); myImageView.setImageBitmap(bitmap);
还是空白,没有图片显示。[/quote] 你的moto是什么格式的?bmp?[/quote]moto是jpg格式的,g1是png格式的。[/quote] 不应该有没问题的啊,你把private ImageView myImageView;改成private ImageView myImageView=null;试试
iceli 2014-03-11
  • 打赏
  • 举报
回复
引用 17 楼 mujunfengplay 的回复:
引用 16 楼 woaili03019 的回复:
[quote=引用 15 楼 woaili03019 的回复:] [quote=引用 14 楼 mujunfengplay 的回复:] [quote=引用 11 楼 woaili03019 的回复:] [quote=引用 9 楼 mujunfengplay 的回复:] 我估计你上面的图片太大了 下面的显示不出来
一张图片都没显示,是空白的。
你可以看下你那个Drawable对象是不是为null,还有看下你启动的是不是这个activity [/quote]
 <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.amaker.ch03.xml.TextXmlActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
是调用的这个activity,怎么看drawable对象是不是为空?[/quote] 晕,粘错了
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.amaker.ch03_resource.drawable.TestBitmapActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
[/quote] 判断下打印就知道了撒[/quote]
		Drawable d=r.getDrawable(R.drawable.moto);
		if(null==d)
			Log.d("drawable is null", null);
		myImageView.setImageDrawable(d);
加了打印,logcat.txt没有。
iceli 2014-03-11
  • 打赏
  • 举报
回复
引用 19 楼 u010119353 的回复:
[quote=引用 18 楼 woaili03019 的回复:] [quote=引用 13 楼 u010119353 的回复:] Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.moto); myImageView.setImageBitmap(bitmap);
还是空白,没有图片显示。[/quote] 你的moto是什么格式的?bmp?[/quote]moto是jpg格式的,g1是png格式的。
milo_c 2014-03-11
  • 打赏
  • 举报
回复
引用 18 楼 woaili03019 的回复:
[quote=引用 13 楼 u010119353 的回复:] Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.moto); myImageView.setImageBitmap(bitmap);
还是空白,没有图片显示。[/quote] 你的moto是什么格式的?bmp?
iceli 2014-03-11
  • 打赏
  • 举报
回复
引用 13 楼 u010119353 的回复:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.moto); myImageView.setImageBitmap(bitmap);
还是空白,没有图片显示。
西瓜米 2014-03-11
  • 打赏
  • 举报
回复
引用 16 楼 woaili03019 的回复:
引用 15 楼 woaili03019 的回复:
[quote=引用 14 楼 mujunfengplay 的回复:] [quote=引用 11 楼 woaili03019 的回复:] [quote=引用 9 楼 mujunfengplay 的回复:] 我估计你上面的图片太大了 下面的显示不出来
一张图片都没显示,是空白的。
你可以看下你那个Drawable对象是不是为null,还有看下你启动的是不是这个activity [/quote]
 <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.amaker.ch03.xml.TextXmlActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
是调用的这个activity,怎么看drawable对象是不是为空?[/quote] 晕,粘错了
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.amaker.ch03_resource.drawable.TestBitmapActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
[/quote] 判断下打印就知道了撒
iceli 2014-03-11
  • 打赏
  • 举报
回复
引用 15 楼 woaili03019 的回复:
引用 14 楼 mujunfengplay 的回复:
[quote=引用 11 楼 woaili03019 的回复:] [quote=引用 9 楼 mujunfengplay 的回复:] 我估计你上面的图片太大了 下面的显示不出来
一张图片都没显示,是空白的。
你可以看下你那个Drawable对象是不是为null,还有看下你启动的是不是这个activity [/quote]
 <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.amaker.ch03.xml.TextXmlActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
是调用的这个activity,怎么看drawable对象是不是为空?[/quote] 晕,粘错了
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.amaker.ch03_resource.drawable.TestBitmapActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
iceli 2014-03-11
  • 打赏
  • 举报
回复
引用 14 楼 mujunfengplay 的回复:
引用 11 楼 woaili03019 的回复:
[quote=引用 9 楼 mujunfengplay 的回复:] 我估计你上面的图片太大了 下面的显示不出来
一张图片都没显示,是空白的。
你可以看下你那个Drawable对象是不是为null,还有看下你启动的是不是这个activity [/quote]
 <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.amaker.ch03.xml.TextXmlActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
是调用的这个activity,怎么看drawable对象是不是为空?
西瓜米 2014-03-11
  • 打赏
  • 举报
回复
引用 11 楼 woaili03019 的回复:
引用 9 楼 mujunfengplay 的回复:
我估计你上面的图片太大了 下面的显示不出来
一张图片都没显示,是空白的。
你可以看下你那个Drawable对象是不是为null,还有看下你启动的是不是这个activity
milo_c 2014-03-11
  • 打赏
  • 举报
回复
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.moto); myImageView.setImageBitmap(bitmap);
iceli 2014-03-11
  • 打赏
  • 举报
回复
引用 10 楼 afairycell 的回复:
试试ICO?
不知
iceli 2014-03-11
  • 打赏
  • 举报
回复
引用 9 楼 mujunfengplay 的回复:
我估计你上面的图片太大了 下面的显示不出来
一张图片都没显示,是空白的。
afairycell 2014-03-11
  • 打赏
  • 举报
回复
试试ICO?
西瓜米 2014-03-11
  • 打赏
  • 举报
回复
我估计你上面的图片太大了 下面的显示不出来
哎,真难 2014-03-11
  • 打赏
  • 举报
回复
写错了,应该是imageview.setBitmap吧,语法就有错误
加载更多回复(4)

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧