我的第一个问题是点击布局。我解决了。
现在我的问题是如何在所需位置设置按钮的位置?
我的应用程序的最低api级别为8(我无法设置 getX()或 getLeft())
测试XML代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" >
<Button android:id="@+id/buttonx" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="X" />
</LinearLayout>
Acitivty代码:
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
public class Test extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.test);
Button xclose = (Button) findViewById(R.id.buttonx);
xclose.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
finish();
}
});
}
}
以动态或编程方式更改按钮位置的任何方法吗?
答案 0 :(得分:1)
如果您需要在线性布局中对齐视图请阅读有关gravity和layout_gravity属性的信息。
你有另一种布局,比如相对布局。它将为视图alignment.ex提供更多属性:layout_alignLeft,layout_alignParentLeft等......
研究它并随意使用它......谢谢......
答案 1 :(得分:0)
您可以在代码中使用填充或边距,例如
xclose.setPadding(left, top, right, bottom);
在onclick时,你试试这个
答案 2 :(得分:0)
您始终可以使用Jake Wharton的NineOldAndroids来使用setX()和setY()(以及许多其他属性)。 该库将Honeycomb-Animation框架移植回api级别1!
如果这不起作用,您可以创建自己的ViewGroup并自己测量/布局孩子。更多信息here。
编辑:此外,自api级别1以来,View.getLeft()/ getTop()/ ...可用。请参阅here
希望这有帮助!
答案 3 :(得分:0)
我不知道你想在哪里找到你的按钮,但你应该看看FrameLayout(它可以让你把按钮放在你的布局中的任何地方)。
答案 4 :(得分:0)
使用Android,您通常有三种布局选项,详见Layouts | Android Developers注释。 Linear Layout为您提供了声明元素并将其水平或垂直链接的选项。我相信你需要的Relative Layout允许你自由地定义一个元素相对于另一个元素的位置,而Web View通常用于显示与web相关的内容。
正如我所说,我相信Relative Layout正是您所寻找的。看看this example,它整齐地概述了如何使用不同的对齐选项来放置元素。你不会有两个主要类别。第一个允许您将元素与父元素对齐,如果要移动元素left,right,top,bottom或center,则可以使用它。第二个允许您通过指定元素(例如android:layout_toLeftOf
或android:layout_below
)来定义相同级别元素的对齐方式。您可以将所有这些结合起来以获得所需的结果。
我很清楚有很多选项可以实现这个结果,但我发现这很简单,通常足以实现视觉上有吸引力的布局。
答案 5 :(得分:0)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/blur2"
android:orientation="horizontal"
tools:context=".MainActivity" >
<Button android:id="@+id/buttonx" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="X" />
</RelativeLayout>
确保它是相对的,而不是Linearlayout,因为相对它可以让你轻松移动按钮。