Android 水平回收视图的项目cardview底部文本视图部分未完全显示
尝试将水平循环视图用于旋转木马行为,但在横向模式下,项目未正确显示 同样的行为可以通过使用项目at(和其他一些github示例)看到 风景画 在此借用显示问题的代码(贷项归Govind) 该代码直截了当且简单:Android 水平回收视图的项目cardview底部文本视图部分未完全显示,android,android-layout,android-recyclerview,android-cardview,horizontal-scrolling,Android,Android Layout,Android Recyclerview,Android Cardview,Horizontal Scrolling,尝试将水平循环视图用于旋转木马行为,但在横向模式下,项目未正确显示 同样的行为可以通过使用项目at(和其他一些github示例)看到 风景画 在此借用显示问题的代码(贷项归Govind) 该代码直截了当且简单: class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
if (Utility.isOnline(this)) {
displayList()
} else {
Toast.makeText(this, R.string.no_internet, Toast.LENGTH_SHORT).show()
}
}
private fun displayList() {
val version = ArrayList<Version>()
version.addAll(Version.getList())
recyclerView.layoutManager = LinearLayoutManager(this, LinearLayout.HORIZONTAL, false)
recyclerView.adapter = MyAdapter(version)
}
}
class MainActivity:AppCompatActivity(){
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
if(实用程序isOnline(本)){
显示列表()
}否则{
Toast.makeText(this,R.string.no\u internet,Toast.LENGTH\u SHORT.show())
}
}
私人娱乐显示列表(){
val version=ArrayList()
version.addAll(version.getList())
recyclerView.layoutManager=LinearLayoutManager(此,LinearLayout.HORIZONTAL,false)
recyclerView.adapter=MyAdapter(版本)
}
}
和适配器:
/**
* Created by Govind on 3/7/2018.
*/
class MyAdapter(private val versionList: ArrayList<Version>) : RecyclerView.Adapter<MyAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.item_list, parent, false))
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bindItems(versionList[position])
}
override fun getItemCount(): Int {
return versionList.size
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun bindItems(version: Version) {
val textView = itemView.findViewById<TextView>(R.id.tvName)
val imageView = itemView.findViewById<ImageView>(R.id.imageView)
textView.text = version.name
Glide.with(itemView.context).load(version.url).into(imageView)
}
}
}
/**
*由Govind于2018年3月7日创建。
*/
类MyAdapter(私有val版本列表:ArrayList):RecyclerView.Adapter(){
override onCreateViewHolder(父级:ViewGroup,viewType:Int):ViewHolder{
返回ViewHolder(LayoutInflater.from(parent.context)。充气(R.layout.item_list,parent,false))
}
覆盖BindViewHolder(holder:ViewHolder,位置:Int){
holder.bindItems(版本列表[位置])
}
重写getItemCount():Int{
返回versionList.size
}
类ViewHolder(itemView:View):RecyclerView.ViewHolder(itemView){
趣味活页夹项目(版本:version){
val textView=itemView.findViewById(R.id.tvName)
val imageView=itemView.findviewbyd(R.id.imageView)
textView.text=version.name
Glide.with(itemView.context).load(version.url).into(imageView)
}
}
}
主要布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.codility.horizontalrecyclerview.MainActivity">
<android.support.v7.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="10dp"
android:text="@string/applicant_name"
android:textColor="@color/colorPrimaryDark"
android:textSize="40sp" />
<android.support.v7.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/colorPrimary" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="@string/about"
android:textColor="@color/colorPrimary"
android:textSize="18sp" />
</LinearLayout>
卡片项目布局:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:background="@color/colorAccent"
card_view:cardCornerRadius="8dp"
card_view:cardUseCompatPadding="true">
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@color/colorAccent"
android:orientation="vertical">
<android.support.v7.widget.AppCompatImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="150dp"
android:scaleType="centerCrop"
android:src="@mipmap/ic_launcher_round" />
<android.support.v7.widget.AppCompatTextView
android:id="@+id/tvName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:padding="8dp"
android:text="@string/app_name"
android:textColor="#ffffff"
android:textSize="16sp" />
</LinearLayout>
</android.support.v7.widget.CardView>
将
线性布局的高度更改为卡片项目布局中的android:layout\u height=“wrap\u content”
试试这个
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:background="@color/colorAccent"
card_view:cardCornerRadius="8dp"
card_view:cardUseCompatPadding="true">
<LinearLayout
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="@color/colorAccent"
android:orientation="vertical">
<android.support.v7.widget.AppCompatImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="150dp"
android:scaleType="centerCrop"
android:src="@mipmap/ic_launcher_round" />
<android.support.v7.widget.AppCompatTextView
android:id="@+id/tvName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:padding="8dp"
android:text="@string/app_name"
android:textColor="#ffffff"
android:textSize="16sp" />
</LinearLayout>
</android.support.v7.widget.CardView>
编辑
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:fillViewport="true"
android:layout_height="match_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.codility.horizontalrecyclerview.MainActivity">
<android.support.v7.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="10dp"
android:text="@string/applicant_name"
android:textColor="@color/colorPrimaryDark"
android:textSize="40sp" />
<android.support.v7.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/colorPrimary" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false"
android:orientation="horizontal"
android:padding="10dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="@string/about"
android:textColor="@color/colorPrimary"
android:textSize="18sp" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
更改后,文本视图仍保持不变。@lannyf可能与您的主布局有关:
检查更新的应答使用更新的主布局(不更改项目布局)工作正常。谢谢