
先把3个按钮隐藏,点击了按钮A,就显示3个按钮
我试了下,可以的
testxml:
<xml version="10" encoding="utf-8"><RelativeLayout xmlns:android="
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/btA"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:text="按钮A" />
<Button
android:id="@+id/btB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/btA"
android:text="按钮B" />
<Button
android:id="@+id/btD"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/btA"
android:text="按钮D" />
<Button
android:id="@+id/btC"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/btA"
android:layout_toLeftOf="@+id/btD"
android:text="按钮C" />
</RelativeLayout>
TestActivity:
package comexampleandroidtest;
import androidappActivity;
import androidosBundle;
import androidviewView;
import androidviewViewOnClickListener;
import androidwidgetButton;
import androidwidgetToast;
public class TestActivity extends Activity {
private Button btA;
private Button btB;
private Button btC;
private Button btD;
private boolean isVisible = true;
@Override
public void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayouttest);
btA = (Button) findViewById(RidbtA);
btB = (Button) findViewById(RidbtB);
btC = (Button) findViewById(RidbtC);
btD = (Button) findViewById(RidbtD);
btBsetVisibility(ViewINVISIBLE);
btCsetVisibility(ViewINVISIBLE);
btDsetVisibility(ViewINVISIBLE);
btAsetOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (isVisible) {
btBsetVisibility(ViewVISIBLE);
btCsetVisibility(ViewVISIBLE);
btDsetVisibility(ViewVISIBLE);
isVisible = false;
} else {
btBsetVisibility(ViewINVISIBLE);
btCsetVisibility(ViewINVISIBLE);
btDsetVisibility(ViewINVISIBLE);
isVisible = true;
}
}
});
}
}
返回上一个activity只需要调用 finish() 方法(前提是你跳转的时候没有关闭上个activity)
当然,这也必须要通过点击事件来实现
1写个BaseActivity实现 OnClickListenerpublic abstract class BaseActivity extends AppCompatActivity implements OnClickListener{}这样每个继承它的activity都会自动重写
@Override
public void onClick(View view) {
switch(viewgetid){
}
}
给每一个需要点击事件的view 写个监听 viewsetOnClickListener(this);
2使用框架 比如xUtil等 不推荐
3使用butterknife
4使用rxjava实现的rxbus
5使用EventBus 不推荐
方法,在viewpager的adapter里面有一个方法可以获取到当前的view,如下:
1 2 3 4 5 6 7 8 9 10 private View mCurrentView; @Override public void setPrimaryItem(ViewGroup container, int position, Object object) { mCurrentView = (View)object; } public View getPrimaryItem() { return mCurrentView; }
ViewPager的adapter通过setPrimaryItem方法设置当前显示子view
将其保存下来就可以在后面通过自定义的getPrimaryItem来获取到当前子view了。
装监视器:把view装进list,list加载到pageAdapter,给viewpager设置监听,监听的就是全部view,要实现这种轮播(广告栏效果),就是一句关键代码viewPagersetCurrentItem(msgarg1);,利用handler和thread,每隔几秒改变item的下标。
viewPagersetAdapter(new MyAdapter());
viewPagersetOnPageChangeListener(onPageChangeListener);
在布局器中将按钮都加进去,然后再代码中根据情况来设置按钮是否可见:
setVisibility(ViewINVISIBLE)
给按钮添加一个listener,就可以得到点击事件。
用Button完不成你的需求,我认为5个Button的设计可以改为ListView或者GridView来做,这样好布局,按下其中一个Item就刷新一遍。
这样问题二就不存在了,你不需要考虑了,按下其中一个Item之后,TextView和ListView就刷新了。
以上就是关于android开发中,点击一个按钮,周围出现三个按钮全部的内容,包括:android开发中,点击一个按钮,周围出现三个按钮、android项目多个返回按钮点击事件怎样用一个方法解决、android:viewpager里如何获取其子界面的按钮并为其添加监听器啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)