1

Horizo​​ntalScrollView を拡張するクラスがあります。しかし、xml でそれを使用する方法がわかりません。クラス名を xml タグとして使用すると、エラーが発生しました: クラス MyClass の拡張中にエラーが発生しました

私のコード:

public class ToothScroller : HorizontalScrollView
{

    private GestureDetector mGestureDetector;

    public ToothScroller(Context context) : base(context)
    {
    }

    public ToothScroller(Context context, IAttributeSet attrs) : base(context, attrs)
    {

        SetFadingEdgeLength(0);
    }

    public ToothScroller(Context context, IAttributeSet attrs, int defStyle) : base(context, attrs, defStyle)
    {
    }

    public ToothScroller(IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer)
    {
    }


    public override bool OnInterceptTouchEvent (Android.Views.MotionEvent ev)
    {
        Console.WriteLine(this.ScrollX);

        return base.OnInterceptTouchEvent (ev);
    }

}

そして私のxml(axml)コード:

    <MyClass
        android:id="@+id/scrollMyClass"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/imageSomething"
        android:fillViewport="true"
        android:background="@drawable/pusherbg">
        <RelativeLayout
            android:id="@+id/layoutSomething"
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    </MyClass>

ご協力ありがとう御座います。

4

3 に答える 3

2

これを交換

 <MyClass
    android:id="@+id/scrollMyClass"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/imageSomething"
    android:fillViewport="true"
    android:background="@drawable/pusherbg"> 

  <YourPackage.YourClass
    android:id="@+id/scrollMyClass"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/imageSomething"
    android:fillViewport="true"
    android:background="@drawable/pusherbg">
于 2013-01-10T13:47:26.073 に答える
1

レイアウト xml を次のように変更します。

<com.username.package.MyClass
    android:id="@+id/scrollMyClass"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/imageSomething"
    android:fillViewport="true"
    android:background="@drawable/pusherbg">
    <RelativeLayout
        android:id="@+id/layoutSomething"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</com.username.package.MyClass>

これは、Google からのより詳細な情報を提供する優れたリソースです。おそらく、カスタム ビューの作成方法についてさらに多くの情報が得られるでしょう: http://developer.android.com/guide/topics/ui/custom-components.html

于 2013-01-10T13:47:59.147 に答える
0

助けてくれてありがとう、次のコードで動作するようになりました。私が使用しているモノドロイドでは、パッケージ名ではなく、使用する必要があるのは名前空間であるため、パッケージ名は少し混乱しました。

<MyNamespace.MyClass
    android:id="@+id/scrollMyClass"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/imageSomething"
    android:fillViewport="true"
    android:background="@drawable/pusherbg">
    <RelativeLayout
        android:id="@+id/layoutSomething"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</MyNamespace.MyClass>
于 2013-01-10T14:08:50.890 に答える