Я хочу разместить CurvedTextView
внизу ConstraintLayout
в Wear OS. Но что бы я ни делал, оно всегда занимает первое место.
Мой файл->Макет activity_main.xml
нового тестового проекта:
<?xml version = "1.0" encoding = "utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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"
android:layout_width = "match_parent"
android:layout_height = "match_parent">
<androidx.wear.widget.CurvedTextView
android:id = "@+id/clock"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintLeft_toLeftOf = "parent"
app:layout_constraintRight_toRightOf = "parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
Ограничение app:layout_constraintBottom_toBottomOf = "parent"
должно располагать его внизу экрана, но этого не происходит, и я не знаю почему.
Моя деятельность (в .NET для Android):
using AndroidX.Wear.Widget;
namespace AndroidApp4
{
[Activity(Label = "@string/app_name", MainLauncher = true)]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle? savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
FindViewById<CurvedTextView>(Resource.Id.clock).Text = "Hello world";
}
}
}
Тестирование на эмуляторе Large Round с API 30. Зависимости от Xamarin.AndroidX.Wear v1.2.0.5 и Xamarin.AndroidX.ConstraintLayout v2.1.4.13.
Буду очень благодарен, если кто-нибудь подскажет, что я делаю не так.
@dect Спасибо! Это работает. Если вы хотите опубликовать это как ответ, я буду рад отметить его как правильный.
Кажется, что CurvedTextView игнорирует ограничения своей позиции. Это верно?
На самом деле ограничения работают, но кажется, что они пишут текст по полной окружности... если вы установите низкое значение для высоты или ширины, вы увидите, что кривизна текста изменится... другими словами, размер «элемента» намного больше размера, который заполняет текст, имеет смысл?
И ограничение состоит в том, чтобы установить ссылку на положение, к которому будет прикреплен элемент... поэтому, когда вы устанавливаете его внизу, это означает, что элемент должен «плавать/прилипать» к нижней части установленной вами ссылки. Другими словами, ограничения не меняют свойства («дизайн») элемента, а только его положение в целом.
Добавьте тег ниже, чтобы повернуть текст:
app:anchorAngleDegrees = "180"
И тег ниже, чтобы изменить направление текста:
app:clockwise = "false
Вы хотите, чтобы текст был внизу?? Если да, добавьте: app:anchorAngleDegrees = "180" и app: clock = "false"