LinearLayout 是否已被 ConstrainedLayout 取代?
Has LinearLayout been replace with ConstrainedLayout?
[编辑:如果 LinearLayout 仍然可以,那么我在 'dependencies' 而不是 implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
中需要什么,因为我找不到等效的 LinearLayout?]
我最近更新到 BumbleBee Android Studio。我的旧代码使用了 LinearLayout。
我只想要一个 WebView,其中 WebView 被迫覆盖屏幕的整个宽度和高度,底部有一个广告。
它说我现在需要 ConstrainedLayout,但我不确定该怎么做?或者我还能用LinearLayout,但是为什么WebView下划线是红色的。我的旧代码是这样的:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
tools:context=".MainActivity">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#00FFFF" />
<!-- Sizes BANNER, SMART_BANNER, LARGE_BANNER -->
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#000000"
android:paddingTop="5dp"
app:adSize="LARGE_BANNER"
app:adUnitId="ca-app-pub-XXXXXXXXXXXXXXXX"/>
</LinearLayout>
不,LinearLayout 与 RelativeLayout 不同,并未弃用。所以,它仍然有它的位置。
这个问题有点宽泛,因为关于您的 View 层次结构应该有多扁平的观点。然而,在复杂的层次结构中,ConstraintLayout 是最好的选择。
编辑:嗯,w/e -- 如果您使用的是 LinearLayout,这意味着没有重叠,则与此接近:
<?xml version="1.0" encoding="utf-8"?>
<your.support.package.here.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"
tools:context=".MainActivity">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#00FFFF"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/adView"
app:layout_constraintTop_toTopOf="parent" />
<!-- Sizes BANNER, SMART_BANNER, LARGE_BANNER -->
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#000000"
android:paddingTop="5dp"
app:adSize="LARGE_BANNER"
app:adUnitId="ca-app-pub-XXXXXXXXXXXXXXXX"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/webView"
app:layout_constraintBottom_toBottomOf="parent"/>
</your.support.package.here.ConstraintLayout>
我随意输入了那个,所以将其用作指导而不是最终解决方案呵呵;P。我会建议 reading up on the documentation,并尝试一些视图,它会为您组合在一起,在这种情况下相对简单。
[编辑:如果 LinearLayout 仍然可以,那么我在 'dependencies' 而不是 implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
中需要什么,因为我找不到等效的 LinearLayout?]
我最近更新到 BumbleBee Android Studio。我的旧代码使用了 LinearLayout。
我只想要一个 WebView,其中 WebView 被迫覆盖屏幕的整个宽度和高度,底部有一个广告。
它说我现在需要 ConstrainedLayout,但我不确定该怎么做?或者我还能用LinearLayout,但是为什么WebView下划线是红色的。我的旧代码是这样的:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
tools:context=".MainActivity">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#00FFFF" />
<!-- Sizes BANNER, SMART_BANNER, LARGE_BANNER -->
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#000000"
android:paddingTop="5dp"
app:adSize="LARGE_BANNER"
app:adUnitId="ca-app-pub-XXXXXXXXXXXXXXXX"/>
</LinearLayout>
不,LinearLayout 与 RelativeLayout 不同,并未弃用。所以,它仍然有它的位置。
这个问题有点宽泛,因为关于您的 View 层次结构应该有多扁平的观点。然而,在复杂的层次结构中,ConstraintLayout 是最好的选择。
编辑:嗯,w/e -- 如果您使用的是 LinearLayout,这意味着没有重叠,则与此接近:
<?xml version="1.0" encoding="utf-8"?>
<your.support.package.here.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"
tools:context=".MainActivity">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#00FFFF"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/adView"
app:layout_constraintTop_toTopOf="parent" />
<!-- Sizes BANNER, SMART_BANNER, LARGE_BANNER -->
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#000000"
android:paddingTop="5dp"
app:adSize="LARGE_BANNER"
app:adUnitId="ca-app-pub-XXXXXXXXXXXXXXXX"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/webView"
app:layout_constraintBottom_toBottomOf="parent"/>
</your.support.package.here.ConstraintLayout>
我随意输入了那个,所以将其用作指导而不是最终解决方案呵呵;P。我会建议 reading up on the documentation,并尝试一些视图,它会为您组合在一起,在这种情况下相对简单。