小编rus*_*l_h的帖子

在C中初始化结构的静态数组

我在C中实现了一个纸牌游戏.有很多类型的卡片,每个都有一堆信息,包括一些需要单独编写脚本的动作.

给定这样的结构(我不确定我的函数指针是否正确)

struct CARD {
    int value;
    int cost;
    // This is a pointer to a function that carries out actions unique
    // to this card
    int (*do_actions) (struct GAME_STATE *state, int choice1, int choice2);
};
Run Code Online (Sandbox Code Playgroud)

我想初始化一个静态数组,每个卡一个.我猜这看起来像这样

int do_card0(struct GAME_STATE *state, int choice1, int choice2)
{
    // Operate on state here
}

int do_card1(struct GAME_STATE *state, int choice1, int choice2)
{
    // Operate on state here
}

extern static struct cardDefinitions[] = {
    {0, 1, do_card0},
    {1, 3, do_card1}
}; …
Run Code Online (Sandbox Code Playgroud)

c arrays static struct

33
推荐指数
1
解决办法
7万
查看次数

使用ButtonBar的RelativeLayout中的Android Scrollview

我正在尝试实现一个登录视图,其中多个EditTexts和一个徽标显示在屏幕上,底部有一个ButtonBar,如下所示:

alt text http://russellhaering.com/media/addAccount.png

问题是在非常小的屏幕上,特别是当它们侧向旋转时,整个主视图不适合屏幕.

我现在有

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#234C59"  >
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:paddingTop="5dip"
        android:paddingLeft="15dip"
        android:paddingRight="15dip"
        android:orientation="vertical" >
        <ImageView
            android:id="@+id/logo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:scaleType="fitCenter"
            android:layout_centerHorizontal="true"
            android:src="@drawable/logo" />
        <EditText
            android:id="@+id/input_email"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dip"
            android:inputType="textEmailAddress"
            android:singleLine="true"
            android:hint="Username or email" />
        <EditText
            android:id="@+id/input_password"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop=""
            android:inputType="textPassword"
            android:singleLine="true"
            android:hint="Password" />
    </LinearLayout>
    <LinearLayout
        android:id="@+id/buttonbar_login"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal"
        style="@android:style/ButtonBar" >
        <Button
            android:id="@+id/button_signup"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Sign Up" />
        <Button
            android:id="@+id/button_login"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Log In" />
    </LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我已经尝试将第一个LinnearLayout封装在ScrollView中,如下所示:

<ScrollView …
Run Code Online (Sandbox Code Playgroud)

android scrollview relativelayout buttonbar

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

arrays ×1

buttonbar ×1

c ×1

relativelayout ×1

scrollview ×1

static ×1

struct ×1