按下“后退”按钮后,Android方向将恢复
我有两个活动,其默认方向在AndroidManifest.xml中指定按下“后退”按钮后,Android方向将恢复,android,kotlin,Android,Kotlin,我有两个活动,其默认方向在AndroidManifest.xml中指定 <activity android:name="com.package.name.Activities.BrowseBooksActivity" android:screenOrientation="portrait"/> <activity android:name="com.package.name.Activities.ReadBooksActivity" androi
<activity android:name="com.package.name.Activities.BrowseBooksActivity"
android:screenOrientation="portrait"/>
<activity android:name="com.package.name.Activities.ReadBooksActivity"
android:screenOrientation="landscape"/>
BrowseBookAdapter:
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)
}
}
}
当我们在应用程序中以肖像的形式进行单个活动时,这似乎是一个bug。 以下链接可能会有所帮助:
对于仍然存在此错误问题的任何人,这里是Sahil共享的链接中提供的解决方法 在“第二个”活动中,添加以下内容:
onCreate(){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
onPause(){
if (android.os.Build.VERSION.SDK_INT >= 27) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
}
onResume(){
if (android.os.Build.VERSION.SDK_INT >= 27) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
}
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)
}
onCreate(){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
onPause(){
if (android.os.Build.VERSION.SDK_INT >= 27) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
}
onResume(){
if (android.os.Build.VERSION.SDK_INT >= 27) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
}