代码添加viewpager解决Viewpager适配问题

来源:互联网 发布:屏幕录制软件绿色版 编辑:程序博客网 时间:2024/05/29 16:01
//从布局文件中获取ViewPager父容器
pagerLayout = (LinearLayout) findViewById(R.id.view_pager_content);
//创建ViewPager
adViewPager = newViewPager(this);
 
//获取屏幕像素相关信息
DisplayMetrics dm = newDisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
 
//根据屏幕信息设置ViewPager广告容器的宽高
adViewPager.setLayoutParams(newLayoutParams(dm.widthPixels, dm.heightPixels * 2/5));
 
//将ViewPager容器设置到布局文件父容器中

pagerLayout.addView(adViewPager);




以上方法就相当于layout_width=10dp

如此一个具体值,才能显示出来

不同的在于,动态得到屏幕大小,形成适配,所以是比较完善的一个方法

或者

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" 
    android:orientation="vertical">
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
        <LinearLayout
            android:id="@+id/linear1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
             <android.support.v4.view.ViewPager
                android:id="@+id/vp_main"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
        </LinearLayout>

        <TextView
            android:id="@+id/testview1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/news"
            android:gravity="center"
            android:textSize="30px"/>
</LinearLayout>
</ScrollView>
布局文件中部分代码涉及隐私,我删掉了,但是大体思想是这样,接下来在java代码中加上:
                layout=(LinearLayout)findViewById(R.id.linear1);
                adViewPager=(ViewPager)findViewById(R.id.vp_main);
                DisplayMetrics dm=new DisplayMetrics();
                getWindowManager().getDefaultDisplay().getMetrics(dm);
                LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) layout.getLayoutParams();
                params.height=dm.heightPixels/2;
                params.width=dm.widthPixels;
                layout.setLayoutParams(params);

0 0
原创粉丝点击