我正在尝试在门图中做一个按钮。我设计了地图,我想把按钮放在上面,如下图所示:
因此,当用户点击按钮时,我将转到另一个活动。
我的问题是如何将按钮放在那些绝对位置并让它适用于所有屏幕rosulotions?
我不知道从哪里开始,只是一个想法或建议可以节省我的一天。 :)
答案 0 :(得分:1)
您可以使用布局边距(左,右,上,下)设置按钮位置或使用绝对布局(http://developer.android.com/reference/android/widget/AbsoluteLayout.html)。
示例: http://sampleprogramz.com/android/absolutelayout.php
另外,为了保持其他分辨率上的按钮位置,请使用dip / dp单位而不是px。 检查这个文档, http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
答案 1 :(得分:1)
在我看来,对这些按钮使用绝对位置不是一个好习惯,因为处理不同的屏幕尺寸确实很困难。另一方面,在我看来,使用百分比位置可能是更好的解决方案。例如:
按钮#1:
按钮#2
如果是这样,你可以这样做,你可以从FrameLayout
开始并使用LayoutParams
将左边距和上边距应用于按钮。例如,对于按钮#1,您会写:
int frameWidth = frameLayout.getWidth();
int frameHeight = frameLayout.getHeight();
Button button = new Button(context);
FrameLayout.LayoutParams p = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
p.leftMargin = frameWidth * (percentageLeft / 100);
p.topMargin = frameHeight * (percentageTop / 100);
button.setLayoutParams(params);
frameLayout.addView(button, p);
答案 2 :(得分:0)
这是开放新活动的代码:
public void onclick(){intent i = new intent(MainActivity.this,activity.class);
startActivity(ⅰ)}
这是按钮的代码:
<Button
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|top"
android:onClick="onclick"
/>