需要一个在Android上处理大屏幕和小屏幕的工作示例

时间:2016-12-27 04:53:37

标签: android android-fragments android-tablet-layout

我在Android上处理多个平板电脑和手机屏幕时尝试了很多,但无法正确地做到这一点。在某些情况下,我收到错误,有些不起作用。我还发布了Stack Question但未收到满意的结果。 我想在平板电脑屏幕上并排显示列表和说明,而只在移动设备屏幕中列出。这有什么好的和简单的方法吗?我也试过this但是无法达到目标。

2 个答案:

答案 0 :(得分:0)

是的,你可以这样做。有一种方法可以根据设备选择布局。

res/layout/my_layout.xml              // layout for normal screen size ("default")
res/layout-large/my_layout.xml        // layout for large screen size
res/layout-xlarge/my_layout.xml       // layout for extra-large screen size
res/layout-xlarge-land/my_layout.xml  // layout for extra-large in landscape orientation

res/drawable-mdpi/graphic.png         // bitmap for medium-density
res/drawable-hdpi/graphic.png         // bitmap for high-density
res/drawable-xhdpi/graphic.png        // bitmap for extra-high-density
res/drawable-xxhdpi/graphic.png       // bitmap for extra-extra-high-density

res/mipmap-mdpi/my_icon.png         // launcher icon for medium-density
res/mipmap-hdpi/my_icon.png         // launcher icon for high-density
res/mipmap-xhdpi/my_icon.png        // launcher icon for extra-high-density
res/mipmap-xxhdpi/my_icon.png       // launcher icon for extra-extra-high-density
res/mipmap-xxxhdpi/my_icon.png      // launcher icon for extra-extra-extra-high-density

如果是10'选项卡在

中创建布局
res/layout-sw720dp/my_layout.xml

如果是7'选项卡在

中创建布局
res/layout-sw600dp/my_layout.xml


 <?xml version="1.0" encoding="utf-8"?>

<TextView
    android:id="@+id/title_detailfragment"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/detail_fragment"/>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
    <fragment
        android:name="com.example.fyp_awais.tab.MainActivity$MyListFragment"
        android:id="@+id/list_fragment"
        android:layout_height="match_parent"
        android:layout_width="0dp"
        android:layout_weight="1" />
    <fragment
        android:name="com.example.fyp_awais.tab.MainActivity$MyDetailFragment"
        android:id="@+id/detail_fragment"
        android:layout_height="match_parent"
        android:layout_width="0dp"
        android:layout_weight="1" />

</LinearLayout>

答案 1 :(得分:0)

使用xhdpi资源并尝试根据设备使用布局参数在运行时设置所有布局。

或者让android决定什么是最适合设备创建以下文件夹

layout-large
layout-small
layout-sw600
layout-sw720

以及更好地整理布局的类似文件夹