我需要创建一个布局,将屏幕对角分成两部分,不同的颜色作为背景。这样的事情:
我怎样才能做到这一点?
答案 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>