2010-08-06 3 views
0

Я не могу отображать как setContentView (R.layout.main), так и Просмотреть вместе. Я думаю, что я не понимаю эту концепцию. Может ли кто-нибудь объяснить мне, где я ошибаюсь. Спасибо. // прочитайте комментарий в кодеmain.xml скрывает вид справки

Я пытаюсь показать изображение на main.xml с помощью BitmapFactory.

public class TryGraph extends Activity 
{ 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main);//I think this is where I need your help 
    setContentView(new myView(this));//I want this to be displayed in main.xml 
} 

private class myView extends View{ 

    public myView(Context context) { 
     super(context); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    protected void onDraw(Canvas canvas) { 
     // TODO Auto-generated method stub 
     Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.sinewave); 
     Bitmap resizedBitmap = Bitmap.createBitmap(myBitmap, 0, 0, 
       300, 143); 
     canvas.drawBitmap(resizedBitmap, 60, 50, null); 
     Paint myPaint = new Paint(); 
     myPaint.setColor(Color.RED); 
     myPaint.setStyle(Paint.Style.STROKE); 
     myPaint.setStrokeWidth(5); 
     canvas.drawRect(250,255,260,250, myPaint); 

    } 
} 

}

XML-файл является

ответ

1

При вызове setContentView вы рассказываете устройство для загрузки всего макета, который должен отображаться для пользователя. В большинстве случаев это представление будет занимать весь экран. Теперь этот файл макета считается корнем и может содержать дочерние представления, одним из которых должен быть ваш ImageView.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
<TextView 
    android:id="@+id/banner" 
    android:text="hello world" 
    > 
<ImageView 
    android:id="@+id/myImageView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/sampleimage" 
    /> 
<?LinearLayout> 

Это ImageView теперь можно получить доступ с помощью кода посредством использования findViewById(R.id.myImageView), а затем вы можете использовать BitmapFactory, чтобы установить изображение. Если изображение не будет изменено, вы можете просто установить его в файле макета android:src="@drawable/sampleimage"