【发布时间】:2018-11-26 05:57:59
【问题描述】:
我做了一个PagerAdapter,效果很好,但是当我将手机水平放置时,很多像TextView 这样的东西是不可见的,因为它们在手机屏幕的“下方”。我知道我可以输入ScrollView,但是这个选项会产生很多错误。
除了ScrollView,还有其他选择吗?或者这个错误是什么意思?
这是我的代码,LinearLayout 没有任何错误,但 PagerAdapter 不可滚动。
Java 代码:
public class SlideAdapter_info extends PagerAdapter {
Context context;
LayoutInflater inflater;
public SlideAdapter_info(Context context){
this.context = context;
}
@Override
public int getCount() {
return 1;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return (view==(LinearLayout)object);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object{
container.removeView((LinearLayout)object);
}
@NonNull
@Override
public Object instantiateItem(ViewGroup container, int position) {
inflater = (LayoutInflater)
context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.slide_info, container, false);
//other code to set the textviews and the imageview
container.addView(view);
return view;
}
}
xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/slidelinear_info"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView /> ....
<!-- This allows me to have a circle shaped image-->
<de.hdodenhof.circleimageview.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/slideimg"
android:layout_width="200dp"
android:layout_height="200dp"
android:paddingTop="10dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
app:civ_border_color="@color/black"
app:civ_border_width="3dp" />
<TextView /> ....
</LinearLayout>
这是结果:(水平)
这是结果:(垂直)
如果我用ScrollView代替LinearLayout,Android Studio给我这个错误:
java.lang.IllegalStateException: ScrollView can host only one direct child
at esame.progetto.xhondar.github.com.info.SlideAdapter_info.instantiateItem(SlideAdapter_info.java:87)
这是行:
View view = inflater.inflate(R.layout.slide_info, container, false);
【问题讨论】:
-
这是如何放置图片的语法:""
标签: android xml android-studio scrollview android-pageradapter