1
我試圖創造出有幾個網格項目包含圖像查看和文本框的菜單畫面。我的目的是爲不同的屏幕分辨率/尺寸獲得相同的比例。動態調整電網項目
例如;下圖是我正在嘗試創建的。正如你所看到的,根據屏幕的大小,網格項尺寸正在改變,但它們仍然在屏幕上覆蓋相同的比例。
Getting screen dimentions,並創建針對不同屏幕尺寸的每個網格項目近似大小是不是一個大問題。但是,設置適當的邊距並將網格視圖放置在屏幕中心是很繁瑣的。
是否有這樣做的更容易或更實際的方法?
grid_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:orientation="vertical" >
<ImageView
android:id="@+id/menu_item_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:contentDescription="@string/menu_item" />
<TextView
android:id="@+id/menu_item_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_weight="8"
android:gravity="center" />
</LinearLayout>
activity_main_menu.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainMenuActivity" >
<GridView
android:id="@+id/mainGridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_margin="20dp"
android:numColumns="2" >
</GridView>
</LinearLayout>