我正在使用浏览器。我为寻呼机适配器制作了一个XML(我有4页寻呼机),在这个XML中,我只使用了多个线性布局,并将它们的可见性设置为消失。默认情况下,第一个线性布局的可见性是打开的,所以它可以很容易地设置为页面的第一页。现在,我正在尝试的是,当我滚动页面时,第一个线性布局的可见性应该消失,第二个线性布局的可见性应该打开(相同的XML ),并设置为页面,等等。
这是我的xml(适配器)
<LinearLayout
android:id="@+id/sub_l3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_10sdp"
android:background="#f5f5f5"
android:orientation="vertical"
android:visibility="gone">
<TextView
android:id="@+id/u_photos"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_15sdp"
android:fontFamily="serif"
android:text="Upload Photos \n (Ads with photos sell faster)"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_10sdp"
android:background="#f5f5f5"
android:orientation="horizontal">
<ImageView
android:id="@+id/image_upload_1"
android:layout_width="@dimen/_100sdp"
android:layout_height="@dimen/_100sdp"
android:src="@color/colorPrimaryDark" />
<ImageView
android:id="@+id/image_upload_2"
android:layout_width="@dimen/_100sdp"
android:layout_height="@dimen/_100sdp"
android:layout_marginLeft="@dimen/_70sdp"
android:src="@color/colorPrimaryDark" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_10sdp"
android:background="#f5f5f5"
android:orientation="horizontal">
<ImageView
android:id="@+id/image_upload_3"
android:layout_width="@dimen/_100sdp"
android:layout_height="@dimen/_100sdp"
android:src="@color/colorPrimaryDark" />
<ImageView
android:id="@+id/image_upload_4"
android:layout_width="@dimen/_100sdp"
android:layout_height="@dimen/_100sdp"
android:layout_marginLeft="@dimen/_70sdp"
android:src="@color/colorPrimaryDark" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/sub_l1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_10sdp"
android:background="#f5f5f5"
android:orientation="vertical"
>
<TextView
android:id="@+id/ad_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="serif"
android:text="Ad Title"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp" />
<EditText
android:id="@+id/ed_ad_title"
android:layout_width="match_parent"
android:layout_height="@dimen/_30sdp"
android:layout_marginLeft="@dimen/_5sdp"
android:layout_marginRight="@dimen/_5sdp"
android:layout_marginTop="@dimen/_10sdp"
android:background="@drawable/form_bg"
android:ems="10"
android:fontFamily="serif"
android:hint="Ad Title"
android:inputType="textPersonName"
android:padding="@dimen/_3sdp"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp" />
<TextView
android:id="@+id/category"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_15sdp"
android:fontFamily="serif"
android:text="Category"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp" />
<EditText
android:id="@+id/ed_category"
android:layout_width="match_parent"
android:layout_height="@dimen/_30sdp"
android:layout_marginLeft="@dimen/_5sdp"
android:layout_marginRight="@dimen/_5sdp"
android:layout_marginTop="@dimen/_10sdp"
android:background="@drawable/form_bg"
android:ems="10"
android:fontFamily="serif"
android:hint="Category"
android:inputType="textPersonName"
android:padding="@dimen/_3sdp"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp" />
</LinearLayout>
<LinearLayout
android:id="@+id/sub_l2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_10sdp"
android:background="#f5f5f5"
android:orientation="vertical"
android:visibility="gone">
<TextView
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_15sdp"
android:fontFamily="serif"
android:text="Ad Description"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp" />
<EditText
android:id="@+id/ed_description"
android:layout_width="match_parent"
android:layout_height="@dimen/_30sdp"
android:layout_marginLeft="@dimen/_5sdp"
android:layout_marginRight="@dimen/_5sdp"
android:layout_marginTop="@dimen/_10sdp"
android:background="@drawable/form_bg"
android:ems="10"
android:fontFamily="serif"
android:hint="Ad Description"
android:inputType="textPersonName"
android:padding="@dimen/_3sdp"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp" />
</LinearLayout>
<LinearLayout
android:id="@+id/sub_l4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_10sdp"
android:background="#f5f5f5"
android:orientation="vertical"
android:visibility="gone">
<TextView
android:id="@+id/user_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="serif"
android:text="Name"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp" />
<EditText
android:id="@+id/ed_user_name"
android:layout_width="match_parent"
android:layout_height="@dimen/_30sdp"
android:layout_marginLeft="@dimen/_5sdp"
android:layout_marginRight="@dimen/_5sdp"
android:layout_marginTop="@dimen/_10sdp"
android:background="@drawable/form_bg"
android:ems="10"
android:fontFamily="serif"
android:hint="Name"
android:inputType="textPersonName"
android:padding="@dimen/_3sdp"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp"/>
<TextView
android:id="@+id/user_num"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_15sdp"
android:fontFamily="serif"
android:text="Phone number"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp" />
<EditText
android:id="@+id/ed_user_num"
android:layout_width="match_parent"
android:layout_height="@dimen/_30sdp"
android:layout_marginLeft="@dimen/_5sdp"
android:layout_marginRight="@dimen/_5sdp"
android:layout_marginTop="@dimen/_10sdp"
android:background="@drawable/form_bg"
android:ems="10"
android:fontFamily="serif"
android:hint="Phone number"
android:inputType="number"
android:padding="@dimen/_3sdp"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp"/>
<TextView
android:id="@+id/user_city"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_15sdp"
android:fontFamily="serif"
android:text="Enter a city"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp"/>
<EditText
android:id="@+id/ed_user_city"
android:layout_width="match_parent"
android:layout_height="@dimen/_30sdp"
android:layout_marginLeft="@dimen/_5sdp"
android:layout_marginRight="@dimen/_5sdp"
android:layout_marginTop="@dimen/_10sdp"
android:background="@drawable/form_bg"
android:ems="10"
android:fontFamily="serif"
android:hint="Enter a city"
android:inputType="number"
android:padding="@dimen/_3sdp"
android:textColor="@color/black"
android:textSize="@dimen/_12sdp" />
<Button
android:id="@+id/submit_add_btn"
android:layout_width="@dimen/_130sdp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/_17sdp"
android:background="@color/green"
android:gravity="center"
android:text="Submit"
android:textAllCaps="false"
android:textColor="@color/white" />
</LinearLayout>
这是我的< code>setOnPageChangeListener(..)//这里sub_l1、sub_l2、sub_l3、sub_l4是线性布局//
form_pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
pages = position;
if(pages==0){
sub_l1.setVisibility(View.VISIBLE);
}else
if (pages == 1) {
sub_l1.setVisibility(View.GONE);
sub_l2.setVisibility(View.VISIBLE);
}else
if (pages == 2) {
sub_l2.setVisibility(View.GONE);
sub_l1.setVisibility(View.GONE);
sub_l3.setVisibility(View.VISIBLE);
}else
if(pages==3){
sub_l2.setVisibility(View.GONE);
sub_l1.setVisibility(View.GONE);
sub_l3.setVisibility(View.GONE);
sub_l4.setVisibility(View.VISIBLE);
}
}
@Override
public void onPageSelected(int position) {
Submit_add.page = position;
switch (position) {
case 0:
Submit_add.radioGroup.check(R.id.radioButton);
break;
case 1:
Submit_add.radioGroup.check(R.id.radioButton2);
break;
case 2:
Submit_add.radioGroup.check(R.id.radioButton3);
break;
case 3:
Submit_add.radioGroup.check(R.id.radioButton4);
break;
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
我已经浪费了我的1天在这请帮助提前感谢。
试试这个:
@Override
public void onPageSelected(int position) {
Submit_add.page = position;
switch (position) {
case 0:
sub_l1.setVisibility(View.VISIBLE);
sub_l2.setVisibility(View.GONE);
sub_l3.setVisibility(View.GONE);
sub_l4.setVisibility(View.GONE);
Submit_add.radioGroup.check(R.id.radioButton);
break;
case 1:
sub_l1.setVisibility(View.GONE);
sub_l2.setVisibility(View.VISIBLE);
sub_l3.setVisibility(View.GONE);
sub_l4.setVisibility(View.GONE);
Submit_add.radioGroup.check(R.id.radioButton2);
break;
case 2:
sub_l1.setVisibility(View.GONE);
sub_l2.setVisibility(View.GONE);
sub_l3.setVisibility(View.VISIBLE);
sub_l4.setVisibility(View.GONE);
Submit_add.radioGroup.check(R.id.radioButton3);
break;
case 3:
sub_l2.setVisibility(View.GONE);
sub_l1.setVisibility(View.GONE);
sub_l3.setVisibility(View.GONE);
sub_l4.setVisibility(View.VISIBLE);
Submit_add.radioGroup.check(R.id.radioButton4);
break;
}
}
解释:据我所知,问题是在回滚时。例如,如果我们滚动到第三页,那么第一个和第二个布局将消失,第三个布局将可见,这就是我们想要的。但是如果我们滚动回第二页,那么第一个布局将消失,第二个布局将可见,但第三个布局也将可见,因为我们从不隐藏它。(第四个布局总是消失,因为我们从未滚动到第四页)。
ViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener()
{
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
sub[position].setVisibility(View.VISIBLE);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
是否有任何方法可以使用android: fillViewport="true"和一个子LinearLayout填充所有视图,当LinearLayout的内容不够高时? 到目前为止,在ScrollView中的LinearLayout中,我们必须使用Android:layout _ height = " wrap _ content "。我们可以添加一些东西来填充所有的滚动视图吗?
我有一个layout.xml,它有可见和不可见/gone组件。我想当去可见组件变得可见,然后布局应该成为可滚动的。 在下面的XML中,我希望第二个相对布局是可滚动的,当它消失的可见组件变得可见时。 Layout.XML 请帮助我实现。
我正在尝试实现类似于Google Play Music的“立即收听”布局。我在网上找到的每一个例子都是一个简单的。我正在努力实现更复杂的目标。差不多 整个布局(减去工具栏)是否可以是一个包含两个或多个RecyclerView的?差不多 最终,我想要实现的是一个如下的布局,并保持良好的性能。
关于ScrollView的常见问题似乎是如何使用fillViewport让ScrollView延伸到整个屏幕。我的问题与此类似,但情况正好相反:) 我有一个包含多个元素的LinearLayout。除了一个元素之外,所有元素都有一个固定的高度,特别的是一个ImageView,它应该拉伸以填充剩余的空间。这很好:) 现在我想把LinearLayout放到一个ScrollView中,因为我的一些元素应该
我正在尝试使用PagerAdapter显示来自可绘制视图寻呼机的图像。为此,我编写了以下代码-- //调用PagerAdapter 下面是我的适配器类-- 下面是我的对话框 xml-- 下面是 ViewPager Item xml-- //下面是解释当前如何显示空的ViewPager的屏幕截图-- 当我调试应用程序时,一切似乎都很好,但不知道为什么图像没有显示在ViewPager中。请帮忙..
我有一个布局,即MotionLayout,它必须为我定义了motionscene约束集开始和结束的FrameLayouts。并且它们是正确的动画。 然后,在这个动画框架布局下,我添加了两个文本视图,在单击时,我尝试隐藏一个,显示另一个,但两个都保持可见 重写有趣的onViewCreated(View:View,SavedInstanceState:Bundle?){super.onviewcrea