2016-10-15 7 views
0

я перешел на новое обновление для ограничения макета, и это то, что я получаю, просто белый экранограничения макет: 1.0.0-alpha9 белого экран

enter image description here

мысль, может быть, я делаю что-то неправильно в моем фрагменте, но нет, он не показывает никакой ошибки. Так что я попытался проверить макет и это то, что я получаю

enter image description here

это создать пространство для текстовых редакторов, но он ничего не рисует. вот мой 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:/любая помощь?

Edit:

фрагмент создается как например:

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», но если вы используете Standalone SDK manager, он помещает «m2repository» внутри «~ \ Android \ sdk \ extras \ a ndroid». Я не знаю, имеет ли это значение, но в этом есть папка с ограничениями.

+0

Кажется, что это работает для меня, если я вставляю свой XML в ConstraintLayout - можете ли вы объяснить, как вы используете этот код? вы упомянули фрагменты? каковы атрибуты самого ConstraintLayout или фрагмента? –

+0

Alpha 7 работает отлично, но альфа-8 и альфа-9 покажут выше ... Я думал, что мог бы сделать что-то не так в моем фрагменте, поэтому я сделал новый фрагмент и все еще ту же самую белую страницу ... Я должен также упомянуть, что Я пытался «Invalidate catchches/Restart ...», но не надеялся:/если вы можете предложить какое-либо решение, я был бы рад попробовать его и сделать здесь сообщение с результатами :) – MohammedAlSafwan

+0

Да, но что вы подразумеваете под используя фрагменты и ограничение? можете ли вы поместить код/​​xml в то, что вы делаете? как я уже сказал, просто скопируйте то, что у вас есть, работает в ConstraintLayout (то же самое, если в фрагменте) –

ответ

1

Ниже приводится пример использования ограничения макета,

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> 

И выход,

https://i.stack.imgur.com/iCtwm.png

Надеюсь, это поможет вам

Ура! !!

+0

Это не говорит мне, что не так с моим кодом!? если я снова посмотрю на это, как бы исправить это !? – MohammedAlSafwan

+0

По умолчанию, когда вы помещаете ConstraintLayout, он займет абсолютное местоположение на холсте. Просто удалите это и измените согласно вашему требованию. –

1

Да глупая ошибка. Понизить Ограничение Layout 7, то он должен работать

пойти в Gradle и заменить

компиляции 'com.android.support.constraint: ограничение макет: 1.0.0-alpha9'

с

компиляции 'com.android.support.constraint: ограничение-макет: 1.0.0-alpha7'

не знаю, почему это решает его

+0

это ошибка? Я не знаю, как выглядеть, если это известно или нет:/и я уже откат до альфы 7 :) – MohammedAlSafwan

+0

не нашел много. Но вы не единственный, у кого есть эта проблема (делает меня более спокойным тоже: -P) – Makaveli

+0

@ Макавели, если у вас есть шаги для воспроизведения, пожалуйста, напишите ошибку :) –

0

Мы просто опубликовала бета-версию ConstraintLayout 1, в которой исправлено несколько проблем, которые могли бы объяснить вашу ошибку.

Хотя я не мог повторить вашу точную проблему, пожалуйста, обновите и проверьте, разрешает ли она 1, - я бы хотел подтвердить, что это так.

Спасибо!

+0

Ничего не изменилось, все равно так же, как и 2 изображения выше. Альфа-7 все еще отлично работает. где мне следует отправить отчет об ошибке:/ – MohammedAlSafwan

+0

Это несчастливо: -/Вы можете подать отчет об ошибке на https://code.google.com/p/android/issues/entry - если бы вы могли указать на проект , или xml-образ, что было бы чрезмерно полезным. Благодаря! –

+1

Я сделаю все возможное, подав ошибку – MohammedAlSafwan