【问题标题】:Position Buttons/Widgets in Android Studio without misplacing in different screen size在 Android Studio 中定位按钮/小部件,而不会在不同的屏幕尺寸中错位
【发布时间】:2017-01-28 07:48:53
【问题描述】:

我已经在 Photoshop 中为我的应用程序设计了一个用户界面。然后我将用户界面作为背景图像添加到 Android Studio。然后我添加了一些按钮,使其位于用户界面中的按钮上方。然后,当我将它切换到不同的设备时,按钮位置就搞砸了!谁能帮帮我?
我尝试使用 LinearLayout,但是没有用!
所以当有人使用我的应用程序时,他们会点击按钮,他们只会点击图片。请帮忙!

【问题讨论】:

  • 你可以给屏幕截图吗?
  • 也分享你的代码
  • 并非适用于所有设备,只有一种方法是使用具有适当约束的 android 内置内容并关注 this

标签: android user-interface button widget position


【解决方案1】:

您所做的实际上是不正确的,您已经对布局进行了 photoshop,现在您不必将其设置为图像背景,而是必须使用 android 和小部件中定义的布局创建自己的布局,然后您必须管理点击和所有内容,因为您的图像背景会在不同的屏幕尺寸上展开和折叠,您将永远不会在它们上获得适当的点击事件,这不是设计应用程序的一种方式。

所以,使用小部件创建您的设计,使用样式和布局,并使用 XML 文件创建设计。

官方文档here 和很好的理解教程是here

【讨论】:

    【解决方案2】:

    不要将界面屏幕置于背景。取而代之的是,仅使用背景图像。而且,您可以为此使用RelativeLayout。还有编程方式。您应该获得屏幕尺寸,然后测量界面背景中图像的 x,y。然后,如果视图留在屏幕的 1/4 部分,您可以这样做:

    ImageView imageView = (ImageView) findViewById(R.id.imageView);
    RelativeLayout.LayoutParams lp= new RelativeLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent);
    lp.leftMargin = screenWidth/4;
    imageView.setLayoutParams(lp);
    

    如果您没有其他方法,请使用这种方法。因为,用 xml 编写设计代码是最有效的方式。

    【讨论】:

      【解决方案3】:

      针对不同屏幕尺寸进行设计的最佳方法是将背景图像与小部件分开。这使您可以完全控制您的界面。希望你能得到它

      【讨论】:

      • 您应该提供更多关于separate the background image from the widgets 的意思的详细信息。我相信问题在于正确使用各种布局原语。这个答案没有帮助。
      猜你喜欢
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-20
      • 2014-02-08
      相关资源
      最近更新 更多