有人可以指导我如何设计小部件的布局,如附图所示
- 加星标的部分将是名人的缩略图
- 对角线分隔符“/”上方和下方的部分应具有单独的侦听器。
有人可以让我以最好和最有效的方式设计这个布局吗?
任何帮助深表感谢。
有人可以指导我如何设计小部件的布局,如附图所示
有人可以让我以最好和最有效的方式设计这个布局吗?
任何帮助深表感谢。
当然有很多可能的解决方案。一个简单的方法是:
对于您的自定义小部件,我建议扩展现有的 Android 小部件,而不是从头开始构建一个。扩展 FrameLayout 可能是一个很好的解决方案,因为您可以拥有一个由三角形覆盖层覆盖的矩形背景。使用 onTouchListener 您可以检测其中哪些被点击。
这样,通过使用尽可能多的标准解决方案,可以最大限度地减少创建此类小部件的工作量。
这是您的自定义小部件的一个抽象示例实现:
public class DividedView extends FrameLayout implements OnTouchListener {
public void onCreate(Context context, AttributeSet attr){
View firstView = createFirstView();
View secondView = createSecondView(); //this view has a triangle shape but with a transparent buttom-right corner... but the boundaries match the complete size of this custom widget... therefore this view consumes all touch events
secondView.setOnTouchListener(this);
addView(firstView);
addView(secondView);
}
...
public boolean onTouch(MotionEvent event){
switch(event.getAction(){
case MotionEvent.ACTION_DOWN:
//detect if coordinates of touch down are in boundaries of first or second view... if yes trigger click event for firstView or secondView depending on coordinates
break;
}
}
//via this method you can set corresponding click listener for each of the divided views
public void setFirstViewOnClickListener(OnClickListener onClickListener)
...
}