私はandroid api8で作業しています。 私は画面上にビューを動的に配置/配置したいと思っています。 しかし、setXとsetYを使用するには、APIレベル11以上が必要です。 API 8でどのように使用することができますか? はあなたがLayoutParams
を使用してこれを行うことができますAndroid - view.setX()の使用とapiのsetY 8
15
A
答えて
29
を助けが必要です。 これらをアンドロイドインターフェイスのコンポーネントに追加して、境界と位置を設定することができます。
例は(RelativeLayoutの子ビューにLayoutParams設定)
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); //The WRAP_CONTENT parameters can be replaced by an absolute width and height or the FILL_PARENT option)
params.leftMargin = 50; //Your X coordinate
params.topMargin = 60; //Your Y coordinate
childView.setLayoutParams(params);
LayoutParamsの種類は、あなたがそれらを追加したいchildviewの親に等しくなければなりませんのでご注意ください。 (LinearLayout.LayoutParams
はLinearLayout
、RelativeLayout.LayoutParams
はRelativeLayout
など)。
childView.setLayoutParams(params);
の代わりに、parentView.addView(childView,params);
を使用して、アイテムが親コンテナに追加されたときにLayoutparamsを設定することもできます。
NOTE!座標値はピクセル単位です。それはあなたのインターフェイスのサイズを定義するためにDP値を使用するのがベストプラクティスだので、あなたはピクセルにDPを変換するために、コードのこの部分を使用することもできます。
aditionallyprivate int getPixels(int dipValue){
Resources r = getResources();
int px = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dipValue, r.getDisplayMetrics());
return px;
}
0
ビューがGroupViewがある場合(レオンLucardieの答え)以上にしてたときにその画面外へ行くビューエッジを想定されている、あなたも入れてあります。
0
あなたはこのように、http://nineoldandroids.com/を使用して、レベル1からAPIのサポートを持つことができます
params.rightMargin=currentRightMargin -yourX;
params.bottomMargin=currentBottomMargin -yourY;
は、ビューの内部レイアウト内の歪みを避けるために、 :
ViewPropertyAnimator.animate(view).translationYBy(-yourY).setDuration(0);
関連する問題
- 1. Androidセットのビュー位置 - setY対setTop
- 2. Androidアプリがsetxとsety関数のためにクラッシュする
- 3. AndroidのsetX()とsetY()が異常に動作する
- 4. AndroidのJava 8ストリームAPI N
- 5. アンドロイドスタジオのAndroid 2.2 APIレベル8
- 6. ScaleAnimationのAndroid APIレベル8
- 7. Android 6.0でJava 8 Stream APIを使用する方法
- 8. Android Wear Channel APIステータスコード8
- 9. Android用SoundCloud APIの使用
- 10. View.setXを使用しないAPIバージョンの場合はどうすればよいですか?
- 11. LOOKUP_URIを使用してAndroid(API 8)の連絡先の写真を取得
- 12. androidプロジェクトapi 3(android 1.5)でBase64(androidに含まれているapi 8(2.2))を使用するには?
- 13. Android Pre Lデバイスのジャックコンパイラを使用したJava 8の使用
- 14. Android/iPhoneアプリ...インターネットベースのAPIとローカルAPIの使用
- 15. Facebook API Android APIをWeb APIに使用
- 16. Android搭載エミュレータのGoogle Playサービス11によるGoogle Maps Android APIの使用方法8
- 17. アニメイトのSETY(それがスムーズに)
- 18. AndroidのUTF-8とUTF-8の定義との比較
- 19. バックグラウンドサービスのAndroidドライブAPIの使用
- 20. Androidエミュレータ(APIレベル8) - AndroidのANDROIDメッセージの後ろに黒い画面
- 21. Android用のjava.lang.NoSuchMethodError:java.util.List.streamを使用するJava 8ラムダ式
- 22. SpringブートでのJava 8 Date/Time APIの使用
- 23. Android用GoogleドキュメントとGoogleスプレッドシートAPIの使用
- 24. NFC APIとAndroid用google chromeの使用方法
- 25. のJava:Javaの8 API
- 26. AndroidドライブAPI使用中ロックファイル
- 27. Windows 8とWindows Phone 8でHTML5/Javascriptを使用したF#ポータブルライブラリの使用
- 28. Spring/StrutとAutoLayout(Xcode 8)の使用
- 29. Vaadin 8 History APIとSEO
- 30. Tomcatの8とJava 8:高メモリ使用量
おかげレオンは、それは私があなたをneed.thankまさにです! – manojmore
@manojmoreこれでデモコードを送ることができます。私はこれを試しましたが、結果を得られませんでした。何か間違っていると思います。 –
はDPまたはピクセルのこれらの値ですか? –