2011-07-05 20 views
0

EditTextの場所または境界をどのように設定しますか? XML(レイアウト)ファイルではなく、Javaコードを通じて実行したいと思います。場所を設定する方法はありますか?私は通常、GUIのものでプロですが、これは決して前に出てきたことがないので、どんな解決策も歓迎します。JavaコードでEditTextの場所を設定する方法

答えて

1

AndroidのsetViewPos(x、y)のように、ビューの位置を明示的に設定することはできません。

アンドロイドレイアウト/ビューシステムの仕組みをご存じですか? XMLで何をしようとしているのかを確認するには、http://developer.android.com/reference/android/view/View.htmlを見て、使用しているXML属性にどのsetterメソッドが対応しているかを見てください。

ビューがすでにXMLに存在し、実行時にそのビューを参照したい場合、そのビューを参照する必要があります。些細なケースでは、あなたの活動にいると、あなたの現在のレイアウトでのビューを変更している:

そうでない場合は
EditText yourView = (EditText)this.findViewById(R.id.your_view);  
//set attributes 
//you'll crash if you haven't this.setContentView(view's parent layout) 

LayoutInflater inflater = context.getLayoutInflater(); 
View tmp = inflater.inflate(R.layout.your_layout, null , true); 
EditText yourView = (EditText)tmp.findViewById(R.id.your_view); 
//set attrinutes 

か、最初から自分のビューを作成する場合、ちょうどそれのインスタンスを作成し、あなたのレイアウトを追加します。

EditText et= new EditTExt(); 
//set attributes 
LinearLayout parent = (LinearLayout) this.findViewById(R.id.layout_id); 
parent.addView(et) 

しかし、あなたがいずれかのXMLにそれを配置する方法がわからない場合、あなたは技術を見つけるために、チュートリアルの路地を旅をテイクダウンする必要がありますあなたの座りに合った。

AbsoluteLayoutはすばやく修正されますが、異なる画面サイズと解像度の携帯電話でアプリを試してみると厄介な結果になるので、私はそれを提案しません。

重力と重さはあまり強力ではありませんが、画面サイズにハードリンクされていません。

周囲のビューに基づいて表示する場合は、間違いなく RelativeLayoutを使用してください。

希望すると便利です。

+0

あなたの助けていただきありがとうございます、私はXMLでそれを行うことができると知っていましたが、確かに私もAndroidでそれを行うことができると思ったが、私はどのように、私は病気だけXMLでレイアウトをやり直してそこ。ありがとう! – gsfd

関連する問題