Кто-либо знает, как выполнить или иметь хорошую ссылку для того, чтобы сделать расположение действия во времени выполнения в андроиде?
Вот код для моего действия. Я уверен, что просто забыл делать что-то здесь:
package com.isi.sa;
import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;
public class SimpleAssessmentTest extends Activity {
LinearLayout layout;
TextView question;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
layout = new LinearLayout(this);
question = new TextView(this);
layout.setLayoutParams(new ViewGroup.LayoutParams(-1,-1));
layout.setBackgroundColor(R.color.blue);
question.setLayoutParams(new ViewGroup.LayoutParams(-1,-2));
question.setTextColor(R.color.green);
question.setTextSize(1,14);
question.setText("This is question1");
layout.addView(question);
setContentView(layout);
}
}
Поскольку Вы видите, что я просто пытаюсь добавить линейное расположение с единственным текстовым представлением (просто для тестирования) однако, когда действие запускается, я просто получаю черный экран со строкой заголовка моего названия приложения.
Спасибо
Вы забыли установить свой contentView. Вы должны добавить
setContentView(layout);
В конце метода onCreate
Вы можете проверить этот URL: http: //www.linux -mag.com/cache/7705/1.html . Он имеет как библиотечные виджеты, так и пользовательские виджеты.
setBackgroundColor требует ввода в правильном формате ARGB: 0xAARRGGBB . Каждый AA, RR, GG и BB находятся в диапазоне от 00 (минимум) до ff (максимум).
Здесь приводится самый минимальный пример, и он работает безупречно. Вот скриншот и код (немного измененный):
http://picturepush.com/public/3313522 (старый)
package us.simpleit;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
public class SimpleGUI extends Activity {
TextView tv;
EditText et;
LinearLayout ll;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//LinearLayout ll = new LinearLayout(this);
ll = new LinearLayout(this);
ll.setOrientation(android.widget.LinearLayout.VERTICAL);
ll.setLayoutParams(new ViewGroup.LayoutParams(-1,-1));
// ARGB: Opaque Red
ll.setBackgroundColor(0x88ff0000);
tv = new TextView(this);
tv.setLayoutParams(new ViewGroup.LayoutParams(-1,-2));
tv.setText("sample text goes here");
// ARGB: Opaque Green
tv.setBackgroundColor(0x5500ff00);
ll.addView(tv);
et = new EditText(this);
et.setLayoutParams(new ViewGroup.LayoutParams(-1,-2));
et.setText("edit me please");
// ARGB: Solid Blue
et.setBackgroundColor(0xff0000ff);
ll.addView(et);
Button btn = new Button(this);
btn.setText("Go!");
btn.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
tv.setText(et.getText().toString());
}
});
ll.addView(btn);
setContentView(ll);
//setContentView(R.layout.main);
}
}