我在创建像that这样的布局时遇到了麻烦,图像左侧是对话框。但我想用水平方向创建它。我希望我的布局有appearance,但只有两个水平按钮。
我的问题是布局xml文件,我不知道如何开始这个布局... =(
真正的问题是如何编辑xml文件到按钮集中,我尝试了很多思考,填充,方向,对齐等...但我不能对齐它。我目前的布局是that。如何集中按钮?
有人能帮助我吗?
这是我的xml文件代码......
<?xml version="1.0" encoding="utf-8"?>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large Text"
android:id="@+id/textView6"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large Text"
android:id="@+id/textView7"
/>
有人可以帮助我吗?
答案 0 :(得分:1)
首先,您需要使用您提到的按钮创建所需的布局(我想您可以自己完成)。然后,您将使用该布局来膨胀AlertDialog
,如下所示:
View alertView = getLayoutInflater().inflate(
R.layout.your_custom_layout,
(ViewGroup) findViewById(R.id.alertViewLayout));
new AlertDialog.Builder(this)
.setTitle(title)
.setView(alertView)
.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
// handle click here
// dismiss AlertDialog
dialog.dismiss();
}
})
.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
// handle click here
// dismiss AlertDialog
dialog.dismiss();
}
}).show();
您可以通过引用父视图(AlertDialog
)来访问alertView
布局中的视图;
ImageButton button1 = (ImageButton) alertView.findViewById(R.id.button1);
ImageButton button2 = (ImageButton) alertView.findViewById(R.id.button2);
修改强>
这是一个样本布局文件,并排放置了ImageButtons
个。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:id="@+id/alertViewLayout"
android:layout_gravity="center"
android:gravity="center"
android:orientation="horizontal">
<ImageButton
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="left|center"
android:layout_weight=".5"
android:background="@+drawable/imageButton1"
android:text="Button 1" />
<ImageButton
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="right|center"
android:layout_weight=".5"
android:background="@+drawable/imageButton2"
android:text="Button 2" />
</LinearLayout>
修改2
由于您希望按钮具有自定义背景,因此建议您使用ImageButton
并将background
属性设置为您选择的背景。
如果您想了解有关如何创建布局文件的更多详细信息,可以查看Android Developer documentation。
如果有帮助,请告诉我。
答案 1 :(得分:1)
你可以这样做:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:orientation="horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1"
android:id="@+id/button1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button2"
android:id="@+id/button2" />
</LinearLayout>
</RelativeLayout>
答案 2 :(得分:0)
请问您的问题更清楚吗?我不知道我是否做对了,但我会尝试解释它。
首先,如果要为对话框创建自定义布局,则应创建.xml文件,然后使用此特定布局对其进行充气。
但我认为这不是你的情况,你想要做的就是简单地创建一个自定义对话框,对吗?屏幕方向无关紧要(我不知道你的意思)。
我认为我不应该向您解释整个过程或只是粘贴代码,最好让您使用android官方文档,所以请看一下这个链接:Dialogs | Android Development
希望它可以帮到你。
答案 3 :(得分:0)
最简单的答案:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation = "horizontal">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Large Text"
android:id="@+id/textView6"
/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Large Text"
android:id="@+id/textView7"/>
</LinearLayout>