Android:自定义形状按钮

时间:2013-01-26 11:54:01

标签: android button

我需要在一侧创建两个带尖角的按钮,它们相互补充。像这样: Two buttons with sharp corner on the one side, that complement each other.

2 个答案:

答案 0 :(得分:0)

首先想到的是:

使用“合并”而不是经典的FrameLayout,让你的2个按钮略微重叠: http://www.curious-creature.org/2009/03/01/android-layout-tricks-3-optimize-part-1/

  

子视图以堆栈形式绘制,包含最近添加的子视图   在顶部。

编辑: 不要忘记为按下的选定状态添加drawable,并确保边框做得好,所以选择/按下时行为不会太奇怪。

答案 1 :(得分:-1)

最好的方法是使用一个水平的Linearlayout,两个按钮的图像和顶部的透明视图。

您的代码中必须包含以下内容:

xml layout:

    <LinearLayout
    android:layout_width="match_parent"
    android:id="@+id/parent"
    android:layout_height="50dp" >

    <View
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1" />

    <View
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1" />
</LinearLayout>

活动代码:

    private LinearLayout mParent;

    @Override
    public void onCreate(Bundle bundle){
    super.onCreate(bundle);
    mParent = (LiearLayout) findViewById(R.id.parent);
    (findViewById(R.id.button1)).setOnClickListener(mListener);
    (findViewById(R.id.button2)).setOnClickListener(mListener);
     }
      private OnClickListener mListener = new OnClickListener(){
       public onClick(View view){
         //change parent color
       }

   } }

甚至可以使用onTouchListener来处理更精确的事件。