Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android用户界面设计-整合它的最佳方式?_Android_User Interface - Fatal编程技术网

Android用户界面设计-整合它的最佳方式?

Android用户界面设计-整合它的最佳方式?,android,user-interface,Android,User Interface,我需要一些关于我必须在应用程序中实现的设计的建议。下面是它应该是什么样子(很抱歉图像的分辨率太低,但这是我现在所拥有的全部) 所以设计的基本思想是: 我有一个UI组件,在我的情况下,我将使用ProgressBar(带有红色填充的那个),它将保存关于某种用户数据的信息。例如,如果用户有歌曲列表,则最大进度条将是所有歌曲的计数,进度将由当前播放的曲目设置。如果我有56首歌,而我正在播放其中的第23首,则进度将根据该整数进行计算。进度条上方的点将指示我是否喜欢其中的歌曲。例如,如果我正在播放第23首

我需要一些关于我必须在应用程序中实现的设计的建议。下面是它应该是什么样子(很抱歉图像的分辨率太低,但这是我现在所拥有的全部)

所以设计的基本思想是:
我有一个UI组件,在我的情况下,我将使用ProgressBar(带有红色填充的那个),它将保存关于某种用户数据的信息。例如,如果用户有歌曲列表,则最大进度条将是所有歌曲的计数,进度将由当前播放的曲目设置。如果我有56首歌,而我正在播放其中的第23首,则进度将根据该整数进行计算。进度条上方的点将指示我是否喜欢其中的歌曲。例如,如果我正在播放第23首歌曲,并且它在我的收藏夹中,则进度条上方的同一位置应该有点

所以我的问题是,我应该使用什么UI组件在进度条上添加点。我在考虑
RelativeLayout/LinearLayout/FrameLayout
,但我知道它们没有我可以执行的功能:
layout.addView(view,x,y)其中
x
y
是坐标。还是这样做是正确的?也许有更好的方式去做我想做的事情。使用
视图的其他
子类

欢迎任何形式的帮助/建议/建议


提前谢谢

您可以使用RelativeLayout来实现您需要的功能。通过设置RelativeLayout的上边距和左边距,可以使您的子视图在布局的原点(x,y)处显示阿尔金

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
                                                                        RelativeLayout.LayoutParams.WRAP_CONTENT);
    params.leftMargin = x;
    params.topMargin = y;
    view.setLayoutParams(params);
  • 在Android上,完全不建议使用特定值来定义布局位置(除非您使用屏幕测量作为参考)

  • 如果填充父内容和换行内容不起作用,请始终使用DP(密度无关像素)来定义间距和位置

  • 在android中,根据复杂性和需要,有不同类型的布局可以帮助您遵循上述规则

    在您的情况下,我建议使用垂直方向的线性布局,如:

    <LinearLayout>
    <CustomView/>
    <ProgressBar />
    </LinearLayout>
    
    
    
    因此,自定义视图实际上会有点

    因此,可以为自定义视图扩展具有水平方向的线性布局。 有一个名为“权重”的参数,您可以将其设置为每个子视图,该参数将子视图的宽度(在您的情况下)设置为总布局宽度的特定百分比