gpt4 book ai didi

java - 方向更改在 fragment 中获得相同的布局

转载 作者:行者123 更新时间:2023-11-29 05:37:59 24 4
gpt4 key购买 nike

我正在进行从纵向到横向以及从横向到纵向的方向更改。我的代码如下

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);

//Set titlebar as "my@heaven"
getSherlockActivity().getSupportActionBar()
.setBackgroundDrawable(getResources().getDrawable(R.drawable.myheaven));

view = inflater.inflate(R.layout.memorial_listing, container, false);

setUpView(savedInstanceState);

return view;
}

public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);

// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {


} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){

}

}

我也把这个添加到 list 中

android:configChanges="orientation|keyboardHidden|screenSize"

我将相同的布局放入纵向布局文件夹和横向布局文件夹中,但是当我尝试旋转屏幕时,如果从纵向开始,那么仍然从布局文件夹中获取布局。屏幕旋转但没有得到正确的文件夹来显示布局。请帮忙

最佳答案

public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);

// Get a layout inflater (inflater from getActivity() or getSupportActivity() works as well)
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

if(// new orientation is potrait){
// load potrait layout
}else{
// load landscape layout
}
}

此方法在方向改变时接收回调。所以在收到回调时膨胀布局。

P.S:两个布局应该有不同的名称。不要将横向布局放在 layout-land 文件夹中。当我遇到这个问题时,我不得不从 layout-land 中提取我的布局并将其放入布局文件夹中。虽然这不是好的做法,但就我而言,它只适用于这种方式。

关于java - 方向更改在 fragment 中获得相同的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18755260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com