我正在为不同的屏幕尺寸
创建一个看起来不同的应用然而按屏幕尺寸(小,中,大,xlarge)进行分离并不能完成这项工作。因为设置得很大,我的5.5'oneplus one和我的HTC感觉XL就是4.3'我认为相同的布局。
有没有办法让屏幕尺寸,而不是分辨率?
编辑 进一步解释我的问题
图片显示了这些屏幕上的布局,我认为在较小的屏幕上很难让它看起来很好,这就是为什么我想为较小的屏幕制作单独的布局。
我的XML代码
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:layout_marginTop="30dp"
android:src="@drawable/ic_logo"
/>
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/ic_appbg"
android:padding="20dp">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_column="1"
android:layout_row="1"
android:src="@drawable/ic_services" />
<TextView
android:layout_column="1"
android:layout_gravity="center"
android:layout_row="2"
android:text="@string/Services"
android:textColor="@color/colorSecondaryText"
/>
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_column="2"
android:layout_row="1"
android:src="@drawable/ic_send_balance" />
<TextView
android:layout_column="2"
android:layout_gravity="center"
android:layout_row="2"
android:text="@string/sendBalance"
android:textColor="@color/colorSecondaryText"
/>
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_column="3"
android:layout_row="1"
android:src="@drawable/ic_call_me" />
<TextView
android:layout_column="3"
android:layout_gravity="center"
android:layout_row="2"
android:text="@string/pay4me"
android:textColor="@color/colorSecondaryText"
/>
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_column="1"
android:layout_row="3"
android:src="@drawable/ic_damage_vou" />
<TextView
android:layout_width="100dp"
android:layout_column="1"
android:layout_row="4"
android:gravity="center"
android:text="@string/damaged"
android:textColor="@color/colorSecondaryText"
/>
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_column="2"
android:layout_row="3"
android:onClick="balance"
android:src="@drawable/ic_check_balance" />
<TextView
android:layout_column="2"
android:layout_gravity="center"
android:layout_row="4"
android:text="@string/checkBalance"
android:textColor="@color/colorSecondaryText"
/>
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_column="3"
android:layout_row="3"
android:src="@drawable/ic_setting" />
<TextView
android:layout_column="3"
android:layout_gravity="center"
android:layout_row="4"
android:text="@string/action_settings"
android:textColor="@color/colorSecondaryText" />
</GridLayout>
</LinearLayout>
答案 0 :(得分:1)
无论如何,它可能不是一个好方法,在启动页面或第一页中获取设备高度。在所有内部活动中,编写不同的布局,并根据所需的大小选项将设置的内容视图置于条件中。
例如: -
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (size > 5) {
setContentView(R.layout.activity_one);
} else {
setContentView(R.layout.activity_two);
}
}
)