2016-09-20 8 views
0

私はすでにPhotoshopで自分のアプリのユーザーインターフェースを設計しています。その後、Android Studioにユーザーインターフェイスをバックグラウンドイメージとして追加しました。次に、いくつかのボタンを、ユーザーインターフェイスのボタンの上に置くように追加しました。その後、別のデバイスに切り替えると、ボタンの配置が乱れてしまいました。誰でも助けてくれますか?
私はLinearLayoutを使ってみましたが、うまくいかなかったのです!
誰かが私のアプリを使用するとボタンをクリックすると、画像をクリックするだけです。助けてください!異なるスタジオサイズで誤って配置することなく、Androidスタジオのボタン/ウィジェットを配置

+0

スクリーンショットをお願いしますか? – TapanHP

+1

もあなたのコードを共有します – Nakul

+0

すべてのデバイスで動作しません、片方だけが適切な制約を加えたandroid inbuiltのものを使用しています。[こちら](http://stackoverflow.com/help/mcve) –

答えて

0

あなたがしていることは実際には正しい方法ではありません。レイアウトをPhotoshopして、イメージの背景として設定する必要はありません。代わりにアンドロイドとウィジェットのレイアウトを定義して独自のレイアウトを作成し、あなたはクリックやすべてのものを管理する必要があります。あなたの画像の背景が拡大され、異なる画面サイズで崩壊すると、あなたは決して適切なクリックイベントを得ることができず、アプリケーションを設計する方法ではありません。

ウィジェットを使用してデザインを作成し、スタイルとレイアウトを使用し、XMLファイルを使用してデザインを作成します。理解を得るために

公式ドキュメントhereと素敵なチュートリアルがhere

-1

異なる画面サイズ用に設計するための最良の方法は、ウィジェットから背景画像を分離することです。これにより、インターフェイスを完全に制御することができます。

+0

「ウィジェットとバックグラウンドイメージを分離する」という意味です。私はさまざまなレイアウトプリミティブの正しい使い方について質問していると思います。この回答は役に立たない。 –

0

インターフェイス画面をバックグラウンドにしないでください。その代わりに、背景画像だけを使用してください。そして、これにはRelativeLayoutを使うことができます。プログラム的にも方法があります。あなたは画面サイズを取得し、その後、あなたのインターフェイスの背景にある画像のx、yを測定する必要があります。あなただけの、この方法を使用する別の方法を持っていない場合

ImageView imageView = (ImageView) findViewById(R.id.imageView); 
RelativeLayout.LayoutParams lp= new RelativeLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent); 
lp.leftMargin = screenWidth/4; 
imageView.setLayoutParams(lp); 

:ビューの画面の1/4の部分に残っている場合次に、あなたはこのような操作を行うことができます。なぜなら、XMLでデザインコードを書くのが最も効率的な方法だからです。

関連する問題