This is impossible in XML to do.However you can set percentages in cs code.
TextView textView = FindViewById<TextView>(Resource.Id.text_content);
// Here using a textView to have a test
DisplayMetrics metrics = Resources.DisplayMetrics;
float screenWidth = metrics.WidthPixels;//calculate screen width
double wantValue = 0.5;//set a percentages
ObjectAnimator objectAnimator = ObjectAnimator.OfFloat(textView, "translationX", 0, (float)(screenWidth*wantValue));
objectAnimator.SetDuration(3000);
objectAnimator.Start();
UPDATE:
And how can I use this for fragments then, because I tried your code with trans.SetCustomAnimations(SlideRight, SlideLeft);
If you want to use SetCustomAnimations to set animations , you shoud can set percentages in XML.However not using objectAnimator, is translate.
slide_left_in.xml:
<?xml version="1.0" encoding="utf-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="-100%p"
android:toXDelta="0%p"
android:duration="500"/>
<alpha
android:fromAlpha="0.5"
android:toAlpha="1.0"
android:duration="500"/>
</set>
slide_left_out.xml:
<?xml version="1.0" encoding="utf-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0%p"
android:toXDelta="-100%p"
android:duration="500"/>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.5"
android:duration="500"/>
</set>
slide_right_in.xml:
<?xml version="1.0" encoding="utf-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="100%p"
android:toXDelta="0%p"
android:duration="@integer/card_flip_time_full"/>
<alpha
android:fromAlpha="0.5"
android:toAlpha="1.0"
android:duration="@integer/card_flip_time_full"/>
</set>
slide_right_out.xml:
<?xml version="1.0" encoding="utf-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0%p"
android:toXDelta="100%p"
android:duration="500"/>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.5"
android:duration="500"/>
</set>
Finally , set in code:
var details = Android.Support.V4.App.Fragment.FragmentManager.FindFragmentById(Resource.Id.details) as DetailsFragment;
var trans = Android.Support.V4.App.Fragment.FragmentManager.BeginTransaction();
trans.Replace(Resource.Id.details, details);
trans.SetCustomAnimations(Resource.Animation.slide_right_in,Resource.Animation.slide_left_out,Resource.Animation.slide_left_in,Resource.Animation.slide_right_out);
trans.Commit();
If happen this error :
Unknown animator name: translate occurred
you need to change to V4 Version of Fragment:
using Fragment = Android.Support.V4.App.Fragment;