Android编程中的View和ViewGroup有什么区别?
在这里我有一个查看传呼机活动,有一个imageview和2个覆盖酒吧。 有覆盖酒吧我使用android xml文件布局本身。 这里我的要求是这样的 1)单击浏览器的imageview第一次=显示顶部和底部的矩形覆盖。 2)单击浏览器的imageview第二次=隐藏这些叠加。 这些都是像android的gallary视图types的function。 但是,当这些顶部和底部的布局栏显示的时候,我只想使用button,只需要在这个布局中声明哪些button被声明。 但是我没有成功实现这件事情。 问题 1)当top or bottom bar在那里,如果我可以点击next or previousbutton比它的事件后面imageview单击触摸事件,而我的酒吧是隐形的。 2)只需要声明button事件3)避免imageview点击时,我触摸覆盖栏。 简而言之,当我的顶部和底部图像栏出现的时候,顶部和底部图像栏上的图像视图没有发生图像事件。 我可以点击imageview,但不能点击时,我实际上点击下一个或上一个或分享button。 所以这些是我面临的问题,请帮助我。 源代码 : activity_pager_image.xml <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <RelativeLayout android:id="@+id/rl_top_overlay" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/slideshow_bar" android:visibility="gone" > <TextView android:id="@+id/tv_top_overlay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:textIsSelectable="false" /> </RelativeLayout> <RelativeLayout android:id="@+id/rl_bottom_overlay" android:layout_width="fill_parent" […]
我如何摆脱HorizontalScrollView的滚动条?
这让我很困惑: 据我所读,一个视图与setVisibility(View.GONE); 不应再收到任何触摸或点击事件。 我的布局有两个部分,这将是可见的或消失,以便其中只有一个是可见和可用的一次,但View.GONE不会做的伎俩。 按预期,我看不到GONE视图,但它仍然对onClick(并消耗另一个视图应该得到的事件)作出反应。 你可以帮我吗? 也许感兴趣:当我开始我的项目时,一个视图是GONE,另一个视图是可见的。 这一次它会按预期工作(GONE视图基本上被忽略),但通过代码设置View.GONE后,它将停止工作。
我正在写几个自定义视图,它们共享一些相同名称的属性。 在<declare-styleable>的各自的<declare-styleable>部分,我想使用相同的名字来表示属性: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="MyView1"> <attr name="myattr1" format="string" /> <attr name="myattr2" format="dimension" /> … </declare-styleable> <declare-styleable name="MyView2"> <attr name="myattr1" format="string" /> <attr name="myattr2" format="dimension" /> … </declare-styleable> </resources> 我得到一个错误,说myattr1和myattr2已经定义。 我发现我应该省略myattr2中的myattr1和myattr2的format属性,但如果我这样做,我在控制台中获得以下错误: [2010-12-13 23:53:11 – MyProject] ERROR: In <declare-styleable> MyView2, unable to find attribute 有没有办法,我可以做到这一点,也许某种types的命名空间(只是猜测)?
我使用ViewPager左右轻扫切换视图。 ViewPager需要一个适配器,所以我build立了这个: public class ListViewPagerAdapter extends PagerAdapter { protected static final String TAG = "ListViewPagerAdapter"; protected static final int NUM_VIEWS = 3; protected final Activity mActivity; public ListViewPagerAdapter(Activity activity) { mActivity = activity; } @Override public int getCount() { return NUM_VIEWS; } @Override public void startUpdate(View container) {} @Override public Object instantiateItem(View container, int position) […]
是否有可能在ListView重绘单个行? 我有一个ListView的LinearLayout的行。 我倾听一个偏好改变,有时我需要改变一个单一行的LinearLayout中的一个View 。 有没有办法让它重绘该行,而无需调用listview.notifyDatasetChanged() ? 我已经尝试调用view.invalidate()在视图( LinearLayout ),但它不重绘该行。