Макет ограничений:1.0.0-alpha9 белый экран
Я переключился на новое обновление для макета ограничения, и это то, что я получаю, просто белый экран
Возможно, я делаю что-то не так в своем фрагменте, но нет, это не показывает никакой ошибки. Поэтому я попытался проверить макет, и это то, что я получаю
он создает пространство для текстовых редакторов, но ничего не рисует. вот мой XML
<android.support.constraint.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:id="@+id/fragment_login"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/Plum"
android:clickable="true"
tools:context=".ui.LoginFragment">
<EditText
android:id="@+id/login_username"
android:layout_width="300dp"
android:layout_height="50dp"
android:gravity="center"
android:hint="@string/Username_or_Email"
android:inputType="textNoSuggestions|textEmailAddress"
android:lines="1"
android:linksClickable="false"
app:layout_constraintBottom_toTopOf="@+id/login_password"
app:layout_constraintRight_toRightOf="@+id/login_password" />
<EditText
android:id="@+id/login_password"
android:layout_width="300dp"
android:layout_height="50dp"
android:gravity="center"
android:hint="@string/password"
android:inputType="textPassword"
android:lines="1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/login_login"
style="@style/Base.Widget.AppCompat.Button.Colored.login"
android:layout_width="150dp"
android:layout_height="50dp"
android:text="@string/login"
app:layout_constraintLeft_toLeftOf="@+id/login_password"
app:layout_constraintRight_toRightOf="@+id/login_password"
app:layout_constraintTop_toBottomOf="@+id/login_password" />
<Button
android:id="@+id/login_singup"
style="@style/Base.Widget.AppCompat.Button.Colored.signup"
android:layout_width="0dp"
android:layout_height="50dp"
android:background="@color/Indigo"
android:clickable="true"
android:gravity="center"
android:lines="1"
android:text="@string/singup"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0" />
</android.support.constraint.ConstraintLayout>
Я не уверен, что вызывает проблему. Он отлично работал с альфа 7:/ любая помощь?
Редактировать:
Фрагмент создается так:
mFragmentManager = getSupportFragmentManager();
mFragmentTransaction = mFragmentManager.beginTransaction();
switch (fragmentName) {
case "LoginFragment":
Log.d(KEY_CLASS_NAME, "createFragment-LoginFragment");
fragment = new LoginFragment();
mFragmentTransaction.setCustomAnimations(
R.anim.icon_anim_fade_in,
R.anim.icon_anim_fade_out,
R.anim.icon_anim_fade_in,
R.anim.icon_anim_fade_out)
.add(R.id.dispatcher_container, fragment, SPKey.KEY_LOGIN_FRAGMENT)
.addToBackStack(SPKey.KEY_LOGIN_FRAGMENT)
.commit();
break;
OnCreateView() реализован как таковой внутри LoginFragment:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
mView = inflater.inflate(R.layout.fragment_login, container, false);
if (mView != null) {
Log.d("LoginFragment", "creating ver");
mUsername = (EditText) mView.findViewById(R.id.login_username);
mPassword = (EditText) mView.findViewById(R.id.login_password);
mLogin = (Button) mView.findViewById(R.id.login_login);
mSignUp = (Button) mView.findViewById(R.id.login_singup);
mLogin.setOnClickListener(this);
mSignUp.setOnClickListener(this);
Log.d("LoginFragment", "done creating ver");
} else {
Log.d("LoginFragment", "mView is empty");
}
return mView;
}
Кроме того, я только что обнаружил, что SDK-менеджер в Android Studio 2.2.1 загружает "m2repository" из "~\Android\sdk\extras", но если вы используете автономный SDK-менеджер, он помещает "m2repository" внутри "~ \ Android \" SDK \ Extras\ андроида". Я не знаю, имеет ли это значение, но там находится папка компоновки ограничений.
3 ответа
Да глупая ошибка Понизьте макет ограничения до 7, тогда он должен работать
иди к своему ученику и замени
скомпилировать 'com.android.support.constraint: компоновка ограничений:1.0.0-alpha9'
с
скомпилировать 'com.android.support.constraint: компоновка ограничений:1.0.0-alpha7'
не уверен, почему это решает это
Ниже приведен пример использования макета ограничения.
XML,
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_margin="16dp">
<EditText
android:id="@+id/login_username"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="Email"
android:inputType="textNoSuggestions|textEmailAddress"
android:lines="1"
android:linksClickable="false"/>
<EditText
android:id="@+id/login_password"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="textPassword"
android:lines="1"
app:layout_constraintTop_toBottomOf="@+id/login_username"/>
<android.support.v7.widget.AppCompatButton
android:id="@+id/login_login"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Login"
app:layout_constraintTop_toBottomOf="@+id/login_password"/>
<android.support.v7.widget.AppCompatButton
android:id="@+id/login_singup"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:clickable="true"
android:lines="1"
android:text="Signup"
app:layout_constraintLeft_toRightOf="@+id/login_login"
app:layout_constraintTop_toBottomOf="@+id/login_password"/>
</android.support.constraint.ConstraintLayout>
И вывод,
Надеюсь, это поможет вам
Ура!!!
Мы только что опубликовали ConstraintLayout beta 1, в котором исправлено несколько проблем, которые могли бы объяснить вашу ошибку.
Хотя я не смог воспроизвести вашу точную проблему, пожалуйста, обновите и проверьте, решает ли бета 1 эту проблему - я хотел бы подтвердить, что это так.
Спасибо!