横竖屏切换时候想改变一个控件的位置和宽高,要如何写呢?[复制链接]

activity采用的是ConstraintLayout的布局,有一个viewpager,放置在页面正中间,宽高比是3:2,

代码如下:

<android.support.v4.view.ViewPager

    android:id="@+id/vp_story"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintDimensionRatio="H,3:2">

</android.support.v4.view.ViewPager>

然后我想在横屏的时候让ViewPager充满屏幕,宽高都是match_parent,又切回竖屏的时候位置和宽高又变回初始状态,这个要怎么写呢?

czl0325 274查看 · 1回复 · 2019-6-19 14:51 有用(1
共1个回答
fengxingzhe 2019-6-20 11:58 回复

让你的activity重写这个方法试试
然后在这个里面判断横竖屏 然后写你的需求
//横竖屏切换

override fun onConfigurationChanged(newConfig: Configuration?) {
    super.onConfigurationChanged(newConfig)
            //这里你重新定义viewpager的宽高
    if(mAdapter.itemCount>0){
        mAdapter.notifyDataSetChanged()
    }
}
    清单配置文件这样配置
    <activity
        android:name=".activity.SeatBandActivity"
        android:screenOrientation="user"
        android:configChanges="keyboardHidden|screenSize|orientation"
        />

你可以试试,不行再想其它办法了,应该可以的

需要登入后才可以评论 登录 | 立即注册