android开发中,点击一个按钮,周围出现三个按钮
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android开发中,点击一个按钮,周围出现三个按钮相关的知识,希望对你有一定的参考价值。
在android开发中,点击 一个按钮A,这个按钮A的周围出现三个按钮,这个功能怎么实现?
如果可以的话,能不能让这三个按钮A围绕形成一个半圆呢?
谢谢
先把3个按钮隐藏,点击了按钮A,就显示3个按钮
我试了下,可以的
test.xml:
<?xml version="1.0" 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 com.example.androidtest;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
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)
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
btA = (Button) findViewById(R.id.btA);
btB = (Button) findViewById(R.id.btB);
btC = (Button) findViewById(R.id.btC);
btD = (Button) findViewById(R.id.btD);
btB.setVisibility(View.INVISIBLE);
btC.setVisibility(View.INVISIBLE);
btD.setVisibility(View.INVISIBLE);
btA.setOnClickListener(new OnClickListener()
@Override
public void onClick(View v)
if (isVisible)
btB.setVisibility(View.VISIBLE);
btC.setVisibility(View.VISIBLE);
btD.setVisibility(View.VISIBLE);
isVisible = false;
else
btB.setVisibility(View.INVISIBLE);
btC.setVisibility(View.INVISIBLE);
btD.setVisibility(View.INVISIBLE);
isVisible = true;
);
追问
厉害,真的啊
我还想问一下,怎么能让按钮B、C、D与A的距离不变,就是B、C、D随着A的移动而移动?
十分感谢,我财富值总共就8个了,有的话肯定多给你一些
我用的是相对位置的layout啊
A放中间,
B始终放A左边(android:layout_toLeftOf="@id/btA")
C始终放A上边(android:layout_above="@+id/btA")
D始终放A右边(android:layout_toRightOf="@id/btA")就可以了啊
如果要在它们之间要一定的距离,那应该怎么做??
追答BCD三个按钮设个间隔距离就好了,前面就不写了<Button
android:id="@+id/btC"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/btA"
android:layout_marginBottom="10dp"
android:layout_toLeftOf="@+id/btD"
android:text="按钮C" />
<Button
android:id="@+id/btB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
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_marginLeft="10dp"
android:layout_toRightOf="@+id/btA"
android:text="按钮D" />追问
十分感谢
不过当按钮A移动的时候其他按钮还是在原来的位置,无法始终与A保持10dp的距离
我的想法是B、C、D始终与A的距离不变,A移到哪儿,它们也跟着移到哪儿
可以只写关键的代码,我应该能看的懂
你说的A移动是说改变A的位置吗?
理论上来说用相对layout
只要设定了A的位置,然后保持BCD与A是相对左上右的关系就行了啊
能否详细讲解下什么是占空间的隐藏,什么是不占空间的隐藏,这两种分别在什么情况下用?
十分感谢
不占用空间的以藏 就是 隐藏后 那个按钮的位置 就空出来了 占位置隐藏就是只是看不到了 但是 按钮还在那个位置
参考技术B 我觉得重新构造个新的activity,上面有3个按钮的A,B,C原来那个activity上有一个按钮M,
然后点击M
执行的动作时intent 转到新activity
楼主觉得这样行么?
======================================================================
我也觉得 第一个回答 的 行,赞一个追问
点击后,原来的按钮M也要存在,而且在原来的activity上还有其他的组件,你这样解决的话似乎有点.....
不过还是谢谢你的回答
以上是关于android开发中,点击一个按钮,周围出现三个按钮的主要内容,如果未能解决你的问题,请参考以下文章
【Android开发】如何 使得 android长按按钮=多次按下按钮