2017-06-24 2 views
0

私はConstraintLayoutを使ってAndroidでレスポンシブなレイアウトを作ろうとしています。特に、私はProgressBarの高さ(幅と高さは固定されていません)に等しい幅を持つようにしようとしています。私はapp:layout_constraintDimensionRatio = "h、1:1"属性を使用してこれを達成しました。しかし、私は...Android:ConstraintLayoutで比率を有効にした横方向の整列ProgressBar

app:layout_constraintRight_toRightOf="parent" 
app:layout_constraintLeft_toLeftOf="parent" 

...私アプリをする場合は、次の属性を使用しているため、それを揃える水平することはできませんよ。layout_constraintDimensionRatio = "H、1:1"属性は動作を停止します。私はいくつかのアプローチ(プログラムでさえ)を試みましたが、どれもうまくいきませんでした。私は何をしたいのですか?

これは私のレイアウトの完全なコードです:あなたはandroid:indeterminateTintを使用されるように

<android.support.constraint.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
xmlns:design="http://schemas.android.com/apk/res-auto" 
tools:context="pvsys.mauro.heartcheck.MainFragment" 
android:id="@+id/constraint_container" 
android:background="@color/colorBackground"> 

<include 
    layout="@layout/tool_bar" 
    android:layout_height="wrap_content" 
    android:layout_width="0dp" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toTopOf="parent"/> 


<android.support.constraint.Guideline 
    android:id="@+id/guidelineBottomBackground" 
    android:layout_height="1dp" 
    android:layout_width="wrap_content" 
    android:orientation="horizontal" 
    app:layout_constraintGuide_percent="0.65"/> 

<View 
    android:id="@+id/myBackgroundView" 
    android:layout_width="0dp" 
    android:layout_height="0dp" 
    app:layout_constraintTop_toTopOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintBottom_toTopOf="@+id/guidelineBottomBackground" 
    android:background="@android:color/white" 
    app:layout_constraintHorizontal_bias="1.0" 
    app:layout_constraintVertical_bias="0.0" /> 


<ProgressBar 
    android:id="@+id/loading_spinner" 
    style="@android:style/Widget.ProgressBar.Horizontal" 
    android:layout_height="0dp" 
    android:layout_width="0dp" 
    android:indeterminateTintMode="src_atop" 
    android:indeterminateTint="@color/colorPrimary" 
    android:max="500" 
    android:progress="500" 
    android:progressDrawable="@drawable/circular" 
    app:layout_constraintDimensionRatio="h,1:1" 
    app:layout_constraintTop_toBottomOf="@+id/tool_bar" 
    app:layout_constraintBottom_toTopOf="@+id/tabLayout" 
    /> 

<include 
    layout="@layout/tab_layout" 
    android:layout_height="48dp" 
    android:layout_width="0dp" 
    app:layout_constraintBottom_toTopOf="@+id/viewpager" 
    app:layout_constraintRight_toRightOf="@+id/viewpager" 
    android:layout_marginBottom="8dp" 
    app:layout_constraintLeft_toLeftOf="@+id/viewpager" /> 

<android.support.constraint.Guideline 
    android:id="@+id/guidelineTopViewPager" 
    android:layout_height="1dp" 
    android:layout_width="wrap_content" 
    android:orientation="horizontal" 
    app:layout_constraintGuide_percent="0.55"/> 

<android.support.v4.view.ViewPager 
    android:id="@+id/viewpager" 
    android:layout_height="0dp" 
    android:layout_width="0dp" 
    android:elevation="4dp" 
    android:background="@drawable/corners_bg" 
    app:layout_constraintBottom_toTopOf="@+id/bottom_navigation" 
    app:layout_constraintTop_toBottomOf="@+id/guidelineTopViewPager" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    android:layout_marginLeft="8dp" 
    android:layout_marginRight="8dp"> 

</android.support.v4.view.ViewPager> 

<android.support.design.widget.BottomNavigationView 
    android:id="@+id/bottom_navigation" 
    android:layout_width="0dp" 
    android:layout_height="56dp" 
    android:background="@android:color/white" 
    app:itemIconTint="@drawable/nav_item_color_state" 
    app:itemTextColor="@drawable/nav_item_color_state" 
    app:menu="@menu/bottom_menu" 
    android:elevation="16dp" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" /> 

</android.support.constraint.ConstraintLayout> 

This is the resulting GUI

答えて

2

、私はあなたが、円形のプログレスバーをしたいとします。ただし、style="@android:style/Widget.ProgressBar.Horizontal"を使用しています。

この

<ProgressBar 
    android:id="@+id/loading_spinner" 
    android:layout_height="0dp" 
    android:layout_width="0dp" 
    android:indeterminateTintMode="src_atop" 
    android:indeterminateTint="@color/colorPrimary" 
    android:max="500" 
    android:progress="500" 
    android:progressDrawable="@drawable/circular" 
    app:layout_constraintDimensionRatio="1" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toBottomOf="@+id/tool_bar" 
    app:layout_constraintBottom_toTopOf="@+id/tabLayout" 
    /> 
+0

It Works !!!多くの多くのありがとう男! – mp94

+0

お役立ち情報私の答えを受け入れてください。 –

0

を試してみてください、私はあなたがloading_spinnerが正方形と親を中心にしたいと仮定します。もしそうなら、loading_spinnerためのXMLに次のことを試してください。

app:layout_constraintDimensionRatio="1:1" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 

これはあなたの問題を解決しない場合は、後ろに詳細を与えることができれば、それが役立つだろう:「私のアプリ:layout_constraintDimensionRatio =」H、1 :1 "属性が機能しなくなりました"

関連する問題