自定义视图的布局

时间:2013-10-10 19:31:39

标签: android android-layout android-custom-view

您好我有一个有布局的活动类,布局本身有自定义视图,这是活动类:

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class Minesweeper extends Activity {

public static final String KEY_DIFFICULTY = "minesweeper.difficulty";
public static final int DIFFICULTY_EASY = 1;
public static final double DIFFICULTY_MEDIUM = 1.5;
public static final int DIFFICULTY_HARD = 2;
private int diff;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    diff = getIntent().getIntExtra(KEY_DIFFICULTY, DIFFICULTY_EASY);
    diff++;
    Log.d("diff", String.valueOf(diff));
    Mine.setlevel(diff);
    setContentView(R.layout.minesweeper);
    Mine.clearMines();
}
} 

这是活动的布局:

<?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="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background" >

    <com.mine_sweeper.Table
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/table"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>`
在布局文件的eclipse中,图形视图的一切都很好但是当我尝试在布局文件中添加一个按钮时,它只会粘在我的自定义视图的左侧,女巫是一个9 * 9的网格,所以我的问题是如何把它移到我的定制视角下? 我已经尝试过更改自定义视图的layout_width和layout_height。

1 个答案:

答案 0 :(得分:0)

试试这个。用户垂直或水平更改嵌套LinearLayout中的位置。 android:orientation =“vertical”或android:orientation =“horizo​​ntal” `

 <?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="fill_parent"
 android:layout_height="fill_parent">

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <Button
        android:id="@+id/button"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="My Button" />

   <com.mine_sweeper.Table
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/table"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
</LinearLayout>

</LinearLayout>

`

您还可以使用GridLayout等其他布局。这只是使用LinearLayout的一种方法