如何创建一个对角拆分的布局,这两个部分是可点击的?

时间:2014-07-28 09:16:20

标签: android android-layout

我需要创建一个布局,将屏幕对角分成两部分,不同的颜色作为背景。这样的事情:

enter image description here

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:0)

这可以按如下方式完成:

  • 创建FrameLayout(比方说50x50像素)。
  • 创建两个ImageView(在FrameLayout内,并将它们设置为match_parent),并为源代码提供两个三角形。
  • onTouchListener创建FrameLayout

现在是棘手的部分:

public boolean onTouch(View v, MotionEvent me){ 
  float time  = System.getCurrentTimeInMilles();

  if(me.action == MotionEvent.DOWN)
    lastTimePress = time;   /// global var

  if(me.action == MotionEvent.UP && lastTimePress - time < 200){
    if(calcPlace(me.getX()) < me.getY())
      /// go to onClick for the right triangle
    else
      /// go to onClick for the left triangle
  }
}

public int calcPlace(int x){
  return 50 -x; 
}

您不必为两个三角形(onClickListener s)设置ImageView,只需要一种处理点击的方法。

某些字段可能有误,对不起:)我希望你明白这一点。

答案 1 :(得分:0)

应该可以创建一个View作为背景,然后在它上面放一个45度角的另一个。将两者放在FrameLayout中以再次将其剪辑为矩形。您可以为每个人分配一个onClick处理程序。

答案 2 :(得分:-1)

您可以按xml设置背景。以相同的背景制作abc不同尺寸的图像:

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/abc"
        android:orientation="vertical" >
</LinearLayout>