Android studio 制約レイアウト ConstraintLayout
2022-02-18 18:19:23
コンストレイントレイアウト
は、2016年
Google I/O
Android向けの最新レイアウトは、まだ洗練された段階です。発売の勢いからすると、主流のレイアウトスタイルになるはずです。最新版では
Android Studio
ConstraintLayoutは、Android Studioの最新版でデフォルトのレイアウトになりました。
コンセプト
ConstraintLayout制約レイアウトとは:レイアウト内の他の要素やビューに基づいて、画面上のViewの位置を決定することです。他のビューに基づく位置の設定、親コンテナに基づく位置の設定、およびベースラインに基づく位置の設定の3つの重要な情報を含んでいます。
layout_constraint[origin]_[target]="[target_id]"
例
app:layout_constraintBottom_toBottomOf="@+id/constraintLayout"
制約事項
The bottom of the current View
から
Bottom of the target View
の場合、ターゲットViewはconstraintLayoutです。これは、現在のViewがconstraintLayout(親コンテナ)の底に置かれ、底が一定であることを意味します。
複数の例を示すために、再利用されるアクティビティページを使用します。パラメータに基づいて、タイトルとレイアウトIdを設定します。
<テーブル
public
class
LayoutDisplayActivity
extends
AppCompatActivity {
private
static
final
String TAG = LayoutDisplayActivity.
class
.getSimpleName();
static
final
String EXTRA_LAYOUT_ID = TAG +
".layoutId"
;
// Layout ID
@Override
protected
void
onCreate(
@Nullable
Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setTitle(getIntent().getStringExtra(Intent.EXTRA_TITLE));
final
int
layoutId = getIntent().getIntExtra(EXTRA_LAYOUT_ID,
0
);
setContentView(layoutId);
// set page layout, reuse layout
}
}
メインページでは、ListViewを使用して複数の項目をそれぞれ異なるレイアウトで表示しています。アイテムをクリックすると、異なるIntentが送信され、表示されるページが満たされます。
<テーブル
public
class
MainActivity
extends
AppCompatActivity {
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView list = (ListView) findViewById(R.id.activity_main);
ArrayAdapter<String> adapter =
new
ArrayAdapter<>(
this
,
android.R.layout.simple_list_item_1, LIST_ITEMS);
list.setAdapter(adapter);
list.setOnItemClickListener(
new
AdapterView.OnItemClickListener() {
@Override
public
void
onItemClick(AdapterView<? > adapterView, View view,
int
i,
long
l) {
// Reuse the display layout
Intent intent =
new
Intent(MainActivity.
this
, LayoutDisplayActivity.
class
);
intent.putExtra(Intent.EXTRA_TITLE, LIST_ITEMS[i]);
// Title
intent.putExtra(LayoutDisplayActivity.EXTRA_LAYOUT_ID, LAYOUT_IDS[i]);
// Layout Id
startActivity(intent);
}
});
関連
-
Android.mk:7: *** セパレータがありません。
-
ジャークとして。起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりません アクティビティ起動中のエラー
-
を作ってください。*** makeするルールがない エラーの原因、分析、解決策
-
Android のパッケージングに失敗し、Android リソースのリンクに失敗したことを示すプロンプトが表示される
-
repo: コマンドが見つかりません
-
アンドロイドの遅延実行のいくつかの方法
-
アンドロイドスタジオソフトウェア使用詳細説明書
-
Android Studio常见错误之:Rendering Problems/The following classes could not be instantiated
-
android studioが新しいプロジェクトを作成しますが、プロジェクトの同期に成功するまでデザインエディタが使用できません。
-
AndroidサポートデザインライブラリのFloatingActionButtonについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
NetworkOnMainThreadException
-
ArrayAdapter は、リソース ID が TextView であることが必要です。
-
エラー:未宣言の識別子(AS)の使用
-
問題 ---- Android ---- ActivityManager: Error: アクティビティクラス{xx/xx.MainActivity}が存在しない
-
アンドロイドシェイプ、グラデーション、角丸、ボーダーラインの設定
-
アンドロイドスタジオ学習入門
-
Android.support.v7.widget.Toolbar が見つかりませんでした。
-
Android TextViewは、テキスト内容が表示省略記号を超えているかどうかを判断する
-
android.content.ActivityNotFoundException を解決します。Intent問題を処理するActivityが見つからない
-
android.view.inflateexception 例外処理