В Android вы можете настраивать свойства и настраивать их в файле .axml
.
1) добавить файл attrs.xml
в папку значений.
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<declare-styleable name="custom">
<attr name="test" format="string" />
<attr name="number" format="integer" />
</declare-styleable>
</resources>
2) здесьВаш MyCheckBox
класс:
using Android.Content;
using Android.Content.Res;
using Android.Util;
using Android.Widget;
namespace App39
{
public class MyCheckBox : CheckBox
{
public string mText { get; set; }
public int mNumber { get; set; }
public MyCheckBox(Context context, IAttributeSet attrs) : base(context, attrs)
{
TypedArray ta = context.ObtainStyledAttributes(attrs, Resource.Styleable.custom);
string text = ta.GetString(Resource.Styleable.custom_test);
int number = ta.GetInteger(Resource.Styleable.custom_number, -1);
this.mText = text;
this.mNumber = number;
Log.Error("IAttributeSet", "text = " + text + " , number = " + number);
ta.Recycle();
}
}
}
2) настраивается в вашем .axml
файле:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:custom="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<App39.MyCheckBox
android:id="@+id/checkbox"
android:layout_width="match_parent"
android:layout_height="match_parent"
custom:test="111111111"
custom:number="200">
</App39.MyCheckBox>
</RelativeLayout>
4) в вашем MainActivity
:
public class MainActivity : AppCompatActivity
{
MyCheckBox myCheckBox;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.activity_main);
myCheckBox = FindViewById<MyCheckBox>(Resource.Id.checkbox);
//myCheckBox.mNumber;
//myCheckBox.mText;
}
}
Здесь , я предоставлю вам демо.