これで、Javaファイルの内部にレイアウトを作成して、そのJavaファイルをメインアクティビティに呼びたいと思います。私はこれについてどうやって行くのですか?レイアウトfrom Java android sdk
何か助けていただければ幸いです。
-thanks クリスチャン
のonCreateでこれで、Javaファイルの内部にレイアウトを作成して、そのJavaファイルをメインアクティビティに呼びたいと思います。私はこれについてどうやって行くのですか?レイアウトfrom Java android sdk
何か助けていただければ幸いです。
-thanks クリスチャン
のonCreateでLayoutSample.java
public class LayoutSampler extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new SampleLayoutDemo(this));
}
}
SampleLayoutDemo
class SampleLayoutDemo extends LinearLayout {
public SampleLayoutDemo(Context context) {
super(context);
TextView view = new TextView(context);
view.setText("Sample");
view.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
addView(view);
setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
}
}
レイアウトを拡張し、活性setContentView()メソッドレイアウトを呼び出してクラスを作成します。
あなたが言う:
myView = new MyView(this);
setContentView(myView);
myView.requestFocus();
は、Javaファイルで、その後、独自のグラフィックスを描画する場合は、書く:
public class MyView extends View{
public MyView(Context context){
super(context);
}
@Override
public void onDraw(Canvas canvas){
}
}
あなたが設定することもできそのMyViewクラスはLinearLayoutなどを拡張し、myView.addView()を使用してネストされたレイアウトを作成します。
皆さんありがとうございました。これが私が探していたものです。あなたの応答に感謝します。 – Christian
「私のアクティビティでLinearLayoutやその他の既存のViewGroupを使用し、XMLファイルを使用せずにそのビューにビューを追加したい」という質問を理解しています。これは正しいです?あなたがカスタムビューをしたい場合は、ChristianBはすでに基本を述べています。カスタムレイアウトは非常に難しいので、既存のビューグループをサブクラス化することをお勧めします。
あなたの質問についての私の仮定が正しいのであれば、あなたがあなたの活動にビューを作成します。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout (this);
TextView helloText = new TextView(this);
helloText.setText("Hello World");
layout.addView(helloText);
setContentView(layout);
}
あなたは他のどののViewGroupのためのLinearLayoutを交換、または完全のViewGroupをスキップして、単一の「フルスクリーン」を追加することができますビュー。
はいこれは良い答えです。それはまあまあです。それはまさに私が探しているものです。お手伝いありがとう。 – Christian
クリスチャン:あなたの質問に答えるならば、答えを受け入れることを覚えておいてください。また、あなたが良い答えをアップアップする必要があります(必ずしも受け入れられた答えではありません)。 –
SampleLayoutDemoがLinearLayoutなどの既存のViewGroupをサブクラス化することを意味しますか?そうでなければ、スーパー(コンテキスト)もaddView(ビュー)も意味をなさないからです。 –
それは意味がある私はこれを試してみましょう。ありがとう – Christian