0
我在Android Wear活動中佈置了四個略微不同大小的ImageViews的網格,並且希望均勻間隔的網格與縮放的ImageViews適合網格單元格。在Android Wear上佈置均勻間隔網格的更好方法
我已經完成了嵌套的線性佈局,其中包括兩端的緩衝區列以將單元更推入中間(以避免在圓形手錶的邊緣上進行裁剪)和底部的緩衝區以推動某些圓形手錶上的「下巴」上方的細胞。這工作正常,但我通常嘗試避免嵌套的線性佈局。有沒有更好的辦法?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/goal_strip"
android:orientation="vertical">
<LinearLayout
android:id="@+id/goal_actions"
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:visibility="gone"
android:layout_weight="1">
<FrameLayout
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="0.2"/>
<ImageView
android:id="@+id/cancel_goal"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="0.8"
android:layout_gravity="center"
android:scaleType="fitCenter"
android:scaleX="0.8"
android:scaleY="0.8"
android:textColor="@color/black"
android:src="@drawable/minus_light"/>
<ImageView
android:id="@+id/add_goal"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="0.8"
android:layout_gravity="center"
android:textColor="@color/black"
android:src="@drawable/ic_add_circle_white_24dp"/>
<FrameLayout
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="0.2"/>
</LinearLayout>
<LinearLayout
android:id="@+id/cards"
android:layout_width="match_parent"
android:layout_height="0dp"
android:visibility="gone"
android:orientation="horizontal"
android:layout_weight="1">
<FrameLayout
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="0.2"/>
<ImageView
android:id="@+id/yellow_card"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="0.8"
android:layout_gravity="center"
android:textColor="@color/black"
android:src="@drawable/yellow_card"/>
<ImageView
android:id="@+id/red_card"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="0.8"
android:layout_gravity="center"
android:textColor="@color/black"
android:src="@drawable/red_card"/>
<FrameLayout
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="0.2"/>
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.1"/>
</LinearLayout>
我真的不喜歡FrameLayouts,但看不到任何其他方式做%margin。麻煩的是,錶盤的尺寸範圍很廣,40dp可以在大表上看起來很棒,並且可以在小表上絕對抽取圖標。但我對想法持開放態度。 – Opus1217
我將在dimens.xml中定義邊距,並使用模擬器爲每個密度桶找到正確的值。在我看來,這是多一點工作,但是更好的解決方案。 – TofferJ