Я просматривал некоторые примеры Android на веб-сайте разработчика и видел, что %p
используется в качестве измерения.
Я сделал поиск в Google, но не могу найти никакой информации о том, что это значит. Кто-нибудь знает?
Я просматривал некоторые примеры Android на веб-сайте разработчика и видел, что %p
используется в качестве измерения.
Я сделал поиск в Google, но не могу найти никакой информации о том, что это значит. Кто-нибудь знает?
Ознакомьтесь с документацией keyWidth для объяснения.
дополнительный суффикс% p обеспечивает размер относительно некоторого родительского контейнера
Ответ @Cheryl Simon и @zero_cool правильный.
И я добавляю демо для легкого понимания
Код расположения
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<Button
android:id="@+id/button_animate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Animate"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="// A gray view with 400dp height"
android:layout_marginTop="20dp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="#aaa"
android:orientation="horizontal"
>
<TextView
android:layout_width="60dp"
android:layout_height="50dp"
android:background="#f00"
android:text="50dp height View"
android:layout_marginStart="10dp"
/>
<TextView
android:id="@+id/image_1"
android:layout_width="60dp"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:background="#f00"
android:src="@mipmap/ic_launcher"
android:text="animate with %"
/>
<TextView
android:id="@+id/image_2"
android:layout_width="60dp"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:background="#f00"
android:text="animate with %p"
/>
</LinearLayout>
</LinearLayout>
Файл анимации slide_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="5000"
android:fromYDelta="25%"
android:toYDelta="0"/>
</set>
slide_in_with_p.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="5000"
android:fromYDelta="25%p"
android:toYDelta="0"/>
</set>
Код активности
button_animate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Animation slide = AnimationUtils.loadAnimation(MainActivity.this, R.anim.slide_in);
Animation slideWithP = AnimationUtils.loadAnimation(MainActivity.this, R.anim.slide_in_with_p);
viewAnimateWithPercent.startAnimation(slide);
viewAnimateWithPercentP.startAnimation(slideWithP);
}
});