图像未显示

时间:2014-09-28 10:31:18

标签: android android-layout

我是Android编程的新手,我已经将大尺寸为470x3066px的长图片添加到我的应用程序中,但是当我启动应用时,只有白屏和图像没有显示。 这是我的Java代码

public class Fizikaformulas extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fizikaformulas);

        ActionBar ab = getActionBar(); 
        ab.setDisplayHomeAsUpEnabled(true);

        // Bilde mana layouta
        RelativeLayout layout = (RelativeLayout)findViewById(R.id.fizformulasimg ); 

        ImageView img = new ImageView(this);
        ViewGroup.LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        img.setLayoutParams(lp);
        img.setBackgroundResource(R.drawable.ic_launcher);
        layout.addView(img);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:
             // app icon  action bara uzspiesta; uz sakumu
            Intent intent = new Intent(this, Sakums.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
            return true;
            default:
            return super.onOptionsItemSelected(item); 
    }
    }

}

还有.XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fizformulasimg"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

使用setImageResource()代替setBackgroundResource()

问题是您将ImageViews的宽度和高度设置为wrap_content,但背景不算作内容,因此ImageView的大小为0。

通过将图片设置为xml中的android:src或使用setImageResource(),您可以修复该图片,ImageView将与图片一样大。