2011-07-28 5 views
0

(私はアンドロイドプログラミングの初心者です)カスタムGLSurfaceViewでビューを追加する

私はGLSurfaceViewから派生したクラスを持っています。

私は、いくつかのビュー(画像、テキスト)をその上に配置したいと考えています。 textView.setPadding(300,0,0,0)を使ってテキストビューを適切に配置することができました。

問題は、画像ビューを適切に配置できないことです。私はimageView.layout(), imageView.setPadding()を試しました。ここで

はコードです:

ImageView imageView=new .... // Create and set drawable 

// Setting size works as expected 
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(200,200); 
imageView.setLayoutParams(lp); 

surfaceView = new MySurfaceViewDerivedFromOpenGLSurface(...); 

setContentView(surfaceView); 

addContentView(textView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
addContentView(textView2, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
addContentView(imageView, lp); // Add the image view 

は、XMLファイル内のものをspecifingなくても正常にこの方法でそれを配置することも可能ですか?

OpenGLサーフェイスビューでビューを作成する方法を示すsdk dev Webサイトの例を見ましたが、派生クラスがあり、XMLファイルで指定できるかどうかわかりません(私はXMLで0%の経験を持っていますが、Eclipseは今まで私のためにすべてを処理していました)。

答えて

2

後でxmlレイアウトの使い方を学ぶことで、頭痛の種を節約できます。カスタムビューのレイアウトを指定すると、私もトリップしました。これは、それがどのように動作するかです:

<view class="complete.package.name.goes.here.ClassName" 
    android:id="@+id/workspace" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" >   
</view> 

だからあなたのアプリのために本当に簡単垂直レイアウトは次のようになります。

<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/textView1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/> 
    <TextView android:id="@+id/textView2" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/> 
    <ImageView android:id="@+id/imageView1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/> 

    <view class="package.name.to.MySurfaceViewDerivedFromOpenGLSurface" 
     android:id="@+id/mySurfaceView" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1">   
    </view>  
</LinearLayout> 

あなたがいる限り、あなたのレイアウトファイルに何かへの参照を取得することができますID:

ImageView myImageView = (ImageView) findViewById(R.id.imageView1); 
+0

ニース、ありがとうございました:D – n3XusSLO

関連する問題