2012-03-07 1 views
0

Я проектирование андроида приложения содержат MySurfaceView включает холст для рисования изображения в потоке протекающего через приложение,добавления другого контента в верхних и нижней части MySurfaceView

(макет по умолчанию main.xml, которые создают с проектом)

но я должен добавить панель/textView в верхнюю часть и добавить AD в botton экрана. то как я могу это сделать?

мое заявление, как это:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    mySurfaceView = new MySurfaceView(this); 
    setContentView(mySurfaceView);    
} 

Может быть моя данная информация не достаточно, чтобы понять ситуацию, так что если вы нашли какой-либо неясности в мой вопрос, пожалуйста, спросите меня

Спасибо заранее

ответ

2

Хм, одна возможность состоит в том, что вы можете просто положить его в RelativeLayout или что-то подобное? Это предполагает, что вы не хотите просто определять его в xml, который, вероятно, будет выглядеть более чистым. Код вероятно, будет выглядеть примерно так (вы можете определенно сделать его более эффективным/просто использовать LinearLayout, я просто бросил первое, что пришло мне в голову):

RelativeLayout layout = new RelativeLayout(this); 
    RelativeLayout.LayoutParams paramsTop = 
      new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, 
              RelativeLayout.LayoutParams.WRAP_CONTENT); 
    // Add the textView to the top 
    paramsTop.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE); 

    TextView textView = new TextView(this); 
    textView.setText("Hello World"); 
    // Give them id's since we need to position relative to one another 
    textView.setId(1); 
    layout.addView(textView, paramsTop); 


    AdView adView = new AdView(this, AdSize.BANNER, INSERT_ADMOB_ID_HERE); 
    adView.setId(2); 
    RelativeLayout.LayoutParams paramsBottom = 
     new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
             RelativeLayout.LayoutParams.WRAP_CONTENT); 
    // Add the adView to the bottom 
    paramsBottom.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE); 

    layout.addView(adView, paramsBottom); 
    AdRequest adRequest = new AdRequest(); 
    adRequest.addTestDevice(AdRequest.TEST_EMULATOR); 
    adView.loadAd(adRequest); 


    SurfaceView view = new SurfaceView(this); 
    view.setId(3); 
    RelativeLayout.LayoutParams paramsMiddle = 
      new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, 
              RelativeLayout.LayoutParams.WRAP_CONTENT); 

    // Add the surfaceView in between the textView and the adView 
    paramsMiddle.addRule(RelativeLayout.BELOW, textView.getId()); 
    paramsMiddle.addRule(RelativeLayout.ABOVE, adView.getId()); 
    layout.addView(view, paramsMiddle); 

    setContentView(layout); 
+0

прекрасно работает и именно то, что я искал для. Большое спасибо. – fean

+0

другой вопрос, основанный на этом макете: если я хочу показать изображение в разделе объявления (с таким же размером баннера), пока объявление не будет загружено или по умолчанию изображение покажет, и когда появится объявление, оно будет перекрывать изображение, как возможно ли это? – fean

 Смежные вопросы

  • Нет связанных вопросов^_^