Android XML按钮
我正在尝试为android做一个计算器。我已经开始使用XML来制作按钮等等,然后我打算在java中引用它们来进行数学计算。我很难让它们成为按钮而不是线条。我理解权重总和,但我甚至不知道这是否是我应该用于这类事情的。我的代码如下:(代码已更新)Android XML按钮,android,xml,Android,Xml,我正在尝试为android做一个计算器。我已经开始使用XML来制作按钮等等,然后我打算在java中引用它们来进行数学计算。我很难让它们成为按钮而不是线条。我理解权重总和,但我甚至不知道这是否是我应该用于这类事情的。我的代码如下:(代码已更新) 尝试以下方法: <Button android:id="@+id/number1" android:layout_width="match_parent" android:layout_height="wrap_content"
尝试以下方法:
<Button android:id="@+id/number1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center" />
我也会在xml中使用小写,有时大写会引起问题。如果您希望将编号显示为按钮,请执行此操作->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/total"
android:textSize="45sp"
android:id="@+id/calcDisplay"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:id="@+id/Number1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
<Button
android:id="@+id/Number2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
<Button
android:id="@+id/Number3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:id="@+id/Number4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
<Button
android:id="@+id/Number5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
<Button
android:id="@+id/Number6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:id="@+id/Number7"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
<Button
android:id="@+id/Number8"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
<Button
android:id="@+id/Number9"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="9"
/>
</LinearLayout>
<Button
android:id="@+id/number0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center_horizontal"
/>
</LinearLayout>
Button number1 = (Button) findViewById(R.id.Number1);
number1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//What to do when 1st button is clicked
}
});
因为您从我的答案中复制了java代码,所以它对您的xml答案不起作用。你可能想看看,我的按钮仍然在一个自上而下的列表中,我正试图让它们像一个真正的计算器一样,一个挨着一个。因此,每行有3个按钮,然后留出空间放置其他按钮。我该怎么做呢?我把代码改成了你的设置方式,但现在我只有4个空白条,我的按钮应该在这里,而不是3个按钮一个挨着一个,如果我不介意看一下的话,我已经更新了我的代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/total"
android:textSize="45sp"
android:id="@+id/calcDisplay"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:id="@+id/Number1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
<Button
android:id="@+id/Number2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
<Button
android:id="@+id/Number3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:id="@+id/Number4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
<Button
android:id="@+id/Number5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
<Button
android:id="@+id/Number6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:id="@+id/Number7"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
<Button
android:id="@+id/Number8"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
<Button
android:id="@+id/Number9"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="9"
/>
</LinearLayout>
<Button
android:id="@+id/number0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center_horizontal"
/>
</LinearLayout>
Button number1 = (Button) findViewById(R.id.Number1);
number1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//What to do when 1st button is clicked
}
});