关闭

碎片Fragment

178人阅读 评论(0) 收藏 举报
分类:

fragment适用用平板电脑(大屏幕)

注意要点:
1.MainActivity要继承 FragmentActivity 而不是Activity
2.LeftFragment 继承 Fragment时要import android.support.v4.app.Fragment;而不是import android.app.Fragment;
3.在activity_main.xml里声明碎片使用fragment而不是Fragment或者android.support.v4.app.Fragment

left_fragment.xml

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#333"
     xmlns:android="http://schemas.android.com/apk/res/android">
     <TextView 
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="1"
         android:textColor="#fff"/>


</LinearLayout>

right_fragment.xml

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     xmlns:android="http://schemas.android.com/apk/res/android">


    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="2"/>

</LinearLayout>

LeftFragment.java

package com.example.fragment;

import com.example.testsometing.R;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class LeftFragment extends Fragment{

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.left_fragment, container,false);
        return view;
    }
}

RightFragment.java

package com.example.fragment;

import com.example.testsometing.R;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class RightFragment extends Fragment{

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.right_fragment, container,false);
        return view;
    }
}

activity_main.xml

<LinearLayout
     xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="fill_parent"
    >

<fragment 
    android:id="@+id/leftfragment"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="match_parent"
    android:name="com.example.fragment.LeftFragment"/>   

<fragment 
    android:id="@+id/rightfragment"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="match_parent"
    android:name="com.example.fragment.RightFragment"/>  
</LinearLayout>

MainActivity.java

public class MainActivity extends FragmentActivity {
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    }

这里写图片描述

让不同大小的移动设备显示不同的布局
在res/下创建layout-large或者layout-sw600dp文件夹。
layout-large是指大屏幕,但是不够灵活,所以使用layout-sw600dp(屏幕尺寸大于600dp)。
layout-sw600dp要在模拟器的platform大于4.0才有效

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:44334次
    • 积分:892
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:83篇
    • 译文:0篇
    • 评论:0条