2011-09-14 4 views
3

私はEditTextのための背景描画可能なものを作成しましたが、テキストが画像の境界に現れました。これをscrollXを-12dipに設定することでこれを修正しました。これはEclipseのグラフィカルレイアウトビューア(pic 1)の言葉のようでした。しかし、デバイス上ではまだ画像を通して表示されます。私は、私のバックグラウンドdrawableをXMLファイルで参照しています。Android EditTextのテキストのオフセット?

In Eclipse and a screenshot http://img28.imageshack.us/img28/9954/nieuwbitmapafbeelding.png

はい、私は2番目のPICは異なっている知っているが、それは私がビューに焦点を当てたという理由だけだ、問題は、私は非フォーカスしてもご利用いただけます。 : '(

EDIT
私は今、完全に画像(複数可)をリメイク、及びdraw9patchを使用テキストオフセットを固定し、私は私の画像に垂直勾配を使用しかしので、私はすべてを選択しました。 (グラデーションがある場合)これは通常、どのようにグラデーションが行われますか?グラデーションがある場合、これは通常どのように行われますか?おそらく画像を小さくして作成した場合、非常に滑らかなグラデーションは得られません。
問題を解決するにはどうしたらいいですか?

答えて

0

だけの提案ではなく、ソリューション...

あなたはRelativeLayoutを使用して、XMLで、alignParentBottonまたはalignParentLeftのようないくつかの属性に代わり、絶対位置コーディネーターのようなものを使用することができます。アブソリュートコーディネータを使用する場合、異なるデバイスで異なることがあります。

+0

私はすでに相対レイアウトを使用しています。私はちょうど右側にedittextボックス内のテキストが必要です。 – usealbarazer

8

android:paddingLeft=""アトリビュートをEditTextに使用すると、指定されたピクセル数を超えてTextViewが内部に移動します。

例:

android:paddingLeft="30dp"右30密度非依存のピクセルにテキストを移動します。

2

実際にどのように背景画像を作成しましたか?それが完全なイメージなら、これはこれを行うための最善の方法ではありません。

バックグラウンドとして使用する9パッチイメージを作成する必要があります。 http://developer.android.com/guide/developing/tools/draw9patch.html

+0

彼はそれを一般的なルールとして行うべきです、しかし、それは彼がシフトされたテキストを得ている理由ではありません。左の画像がデフォルトの「EditText」画像よりも長いので、ボーダーはもっと遠いですからだと思います。彼は調整するためにパッドする場合は、それを修正する必要があります。 – DeeV

+0

私の質問を編集しました。 – usealbarazer

+0

正しい答えがあれば受け入れてから、新しい質問をしてください。既存の質問を編集して新しい質問をするべきではありません。 – C0deAttack

1

editText.setPadding()を使用すると、テキストがシフトするために必要なスペースが得られます。また、バックグラウンドリソースにもパディングを適用することがあります。しかし、それを試してください

関連する問題