高さh/3、幅3w/5のレイアウトで絶対中心に長方形のボックスを表示したい(w:画面の幅、h:画面の高さ)。解決策を見つけるのを手伝ってください。ありがとうございます。レイアウトの絶対中心に長方形のボックスを表示
5
A
答えて
3
これは、体重を使った線形レイアウトを使って調整することができます。 これが役立つことを願って、以下のサンプルコードを貼り付けました。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@color/transparent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="horizontal"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="5"
/>
<TextView
android:id="@+id/desiredbox"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="TextView"
android:layout_gravity="center"
android:background="@color/skyblueBackground"
android:layout_weight="1"
/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="5"
/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
/>
2
View
クラスを拡張するカスタムビューを作成し、onDraw()
メソッドをオーバーライドして目的の矩形を作成します。あなたは一般的な考えを得るために:Android canvas draw rectangleを参照することができます。あなたの質問がある場合は
:コンテナ内のビューを配置する方法 - 親ビューのコンストラクタでこれを追加します。instance
は、あなたのコンテナビューへの参照である
final ViewTreeObserver vto = this.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// here, the dimensions of the parent are available
int containerHeight = instance.getHeight();
int containerWidth = instance.getWidth();
childView.setY(containerHeight/3);
childView.setX(containerWidth * 3/5);
instance.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
}
});
。
3
うん。これは、相対レイアウトの親と、その中心に配置された別のレイアウト(ボックス)を使用して行うことができます。あなたのボックスの幅と高さは、xmlではなくjavaで記述することができます。
関連する問題
- 1. 相対レイアウト中心垂直
- 2. Android AdViewを線形レイアウトの中心に揃える方法
- 3. リアクションネイティブ絶対配置の水平方向の中心
- 4. 絶対的な位置付けを中心にCSSを中心にする
- 5. Fabricjs長方形の中心にテキストを追加
- 6. 絶対配置の子要素を中心に
- 7. nativescriptの絶対配置の中心に位置する要素
- 8. 絶対値の表示anglejs
- 9. テキストを含むjqueryダイアログを表示中(絶対中)
- 10. テキストアラインメントの方法:IEの絶対要素を中心にしますか?
- 11. Android:レイアウトの中心に円形のプログレスバーを設定
- 12. 位置絶対がブロックを中心にしていません
- 13. Xcodeの「フレーム長方形」と「レイアウト長方形」
- 14. 絶対ビューポート中心のモーダルウィンドウ| SafariとIOSの問題
- 15. 絶対中心のテキストですが左揃え
- 16. 相対絶対親divの外側に表示される絶対絶対子divのCSS
- 17. Androidレイアウトでの絶対サイズと相対サイズの混在 - 方法
- 18. 地図の中心にドットを表示
- 19. 絶対絶対位置 - スクロールバーが表示されない
- 20. 絶対値形式で変数を表現する方法
- 21. 純粋なJavaScript:本文の絶対位置divを中心に設定する
- 22. center document NSScrollViewの中心に表示
- 23. 相対レイアウトと線形レイアウト
- 24. Android:コントロールを相対レイアウトの別のコントロールの中心に合わせる
- 25. はネイティブリアクト - TouchableOpacity絶対位置を表示
- 26. divボックスの中心にオーバーフローテキストを揃える方法は?
- 27. jsなしの範囲まで絶対要素の中心を設定する
- 28. jQueryを中心にdivを表示
- 29. 絶対位置にコンテンツを表示する方法
- 30. キーボードを絶対に表示しない方法