gpt4 book ai didi

按下后退按钮后,Android 方向恢复原状

转载 作者:行者123 更新时间:2023-11-30 00:00:46 24 4
gpt4 key购买 nike

我有 2 个 Activity,在 AndroidManifest.xml 中指定了默认方向

<activity android:name="com.package.name.Activities.BrowseBooksActivity"
android:screenOrientation="portrait"/>
<activity android:name="com.package.name.Activities.ReadBooksActivity"
android:screenOrientation="landscape"/>

用户单击 BrowseBooksActivity(纵向)中的项目并启动 ReadBooksActivity(横向)。但是当按下后退按钮时,BrowseBooksActivity 最初以纵向模式启动大约一秒钟,然后恢复为横向模式。如何解决这个问题?

浏览图书 Activity :

class BrowseBooksActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.browsebooksmain_layout)

fetchBooks ()

recyclerview_main.layoutManager = LinearLayoutManager(this)
}


fun fetchBooks () {

// some processing

runOnUiThread {
recyclerview_main.adapter = BrowseBooksAdapter(bookList)
}}

浏览图书适配器:

class BrowseBooksAdapter (val bookFeed: List<ResourcesList>): RecyclerView.Adapter<CustomViewHolder>()  {

override fun getItemCount(): Int {
return bookFeed.count()
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {
val layoutInflater = LayoutInflater.from(parent.context)
val cellForRow = layoutInflater.inflate(R.layout.browsebooks_layout, parent, false)
return CustomViewHolder(cellForRow)
}

override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {
holder.v.textview_booktitle?.text = bookFeed[position].name
Picasso.get().load(bookFeed[position].coverURI).into(holder.v.ImageView_bookcover)
holder.bookFeed = bookFeed[position]
}
}

class CustomViewHolder(val v: View, var bookFeed : ResourcesList? = null): RecyclerView.ViewHolder(v) {

init {
v.setOnClickListener {
val intent = Intent (v.context, ReadBooksActivity::class.java)

intent.putExtra("ID", bookFeed?.id)

v.context.startActivity(intent)
}

}
}

读书 Activity :

class ReadBooksActivity : Activity() {

private var mCurlView: CurlView? = null
private var newbookList : ResourcesList? = null

public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.readbooks_layout)

var index = 0
if (lastNonConfigurationInstance != null) {
index = lastNonConfigurationInstance as Int
}

mCurlView = findViewById(R.id.curl)
mCurlView!!.setSizeChangedObserver(SizeChangedObserver())
mCurlView!!.setCurrentIndex(index)
mCurlView!!.setBackgroundColor(-0xdfd7d0)

var bookId = intent.getIntExtra("ID", 0)

Thread (Runnable {

//some processing to load data to mBitmaps
mCurlView!!.setBitmapProvider(BitmapProvider(mBitmaps))

}).start()


mCurlView!!.setEnableTouchPressure(true)
mCurlView!!.set2PagesLandscape(true)


}

最佳答案

当我们在应用程序中将单个 Activity 作为肖像时,这似乎是一个错误。以下链接可能会有所帮助: Android 8.1 screen orientation issue: flipping to landscape a portrait screen

关于按下后退按钮后,Android 方向恢复原状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49972362/

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