gpt4 book ai didi

java - 线性布局网格在模拟器中显示但在设备上不显示,可能是什么原因?

转载 作者:行者123 更新时间:2023-11-30 12:04:06 26 4
gpt4 key购买 nike

我目前运行的 Activity 在模拟器 (Nexus 5X API 27) 上运行良好,但是在设备 (Samsung S8 Plus) 上执行时;线性布局网格不会出现。我已经添加了适当的约束,但它们仍然没有显示。

尝试移动 TextView 为线性布局网格腾出更多空间,但仍然没有用。

Activity 的截图: https://imgur.com/a/I2wEgZW

这是 Activity 代码:

import android.content.Intent;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

import java.util.ArrayList;

public class Badges extends AppCompatActivity {
private static String TAG = "Badges.Class";
private static ImageView badge1,badge2, badge3, badge4, badge5, badge6, badge7, badge8, badge9, questionBadge;
private Button summaryButton;
public static int b1, b2, b3, b4, b5, b6, b7, b8, b9;
public static String currentUser;
public static int badgePoints;
public static TextView textPointsValue;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_badges);

//Creating Badge Icons and greying them out
badge1 = findViewById(R.id.imageBadge1);
badge2 = findViewById(R.id.imageBadge2);
badge3 = findViewById(R.id.imageBadge3);
badge4 = findViewById(R.id.imageBadge4);
badge5 = findViewById(R.id.imageBadge5);
badge6 = findViewById(R.id.imageBadge6);
badge7 = findViewById(R.id.imageBadge7);
badge8 = findViewById(R.id.imageBadge8);
badge9 = findViewById(R.id.imageBadge9);

badge1.setColorFilter(this.getResources().getColor(R.color.transparentDarken));
badge2.setColorFilter(this.getResources().getColor(R.color.transparentDarken));
badge3.setColorFilter(this.getResources().getColor(R.color.transparentDarken));
badge4.setColorFilter(this.getResources().getColor(R.color.transparentDarken));
badge5.setColorFilter(this.getResources().getColor(R.color.transparentDarken));
badge6.setColorFilter(this.getResources().getColor(R.color.transparentDarken));
badge7.setColorFilter(this.getResources().getColor(R.color.transparentDarken));
badge8.setColorFilter(this.getResources().getColor(R.color.transparentDarken));
badge9.setColorFilter(this.getResources().getColor(R.color.transparentDarken));


//Creating Summary Button
summaryButton = findViewById(R.id.summaryButtonBadge);
summaryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(Badges.this,BadgesSummary.class);
startActivity(myIntent);
}
});

//Create Back Button
ImageView backButton = findViewById(R.id.badgeBackButton);
backButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(Badges.this,Home.class);
startActivity(myIntent);

}
});

//Question Mark Button
//Have yet to set up logic for this
questionBadge = findViewById(R.id.questionButBadge);
questionBadge.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//******Add Logic in here*****
}
});

//Points text
textPointsValue = findViewById(R.id.textPointsValue);

Log.d(TAG, "onCreate: the value of current user is " + currentUser);



//Staged Scenarios
if(currentUser.equals("test")){
//badge1.setColorFilter(this.getResources().getColor(R.color.transparentDarken));
Log.d(TAG, "onCreate: Ran the currentUser test method, and the value of current " +
"user " + currentUser);

badgePoints = 0;
badge1.setColorFilter(null);
addPoints(50);
b1=1;
badge2.setColorFilter(null);
addPoints(200);
b2=1;
badge3.setColorFilter(null);
addPoints(300);
b3=1;
badge4.setColorFilter(null);
addPoints(50);
b4=1;

}

else if(currentUser == "gg"){

}

else if(currentUser == "jason"){

}
//Scenario one

}


//Public method to reset the values
public static void resetBadge (){
//This resets all badges.
//Should only be ran when a new user is created.
b1 = 0;
b2 = 0;
b3 = 0;
b4 = 0;
b5 = 0;
b6 = 0;
b7 = 0;
b8 = 0;
b9 = 0;

badgePoints=0;
textPointsValue.setText(String.valueOf(badgePoints));

Log.d(TAG, "resetBadge: Badges have been reset due to new user login");

}

public static void setCurrentUser(String user){
Badges.currentUser = user;
Log.d(TAG, "setCurrentUser: User has been updated " + user);
}

public static void addPoints(int value){
badgePoints = badgePoints + value;
textPointsValue.setText(String.valueOf(badgePoints));
}

public static void achieveBadge1(){
//Create Avatar and profile
if(b1 == 0){
badge1.setColorFilter(null);
addPoints(50);
b1=1;
}
}

public static void achieveBadge2(){
//Choose major
if(b2 == 0){
badge2.setColorFilter(null);
addPoints(200);
b2=1;
}
}

public static void achieveBadge3(){
//Finish Degree
if(b3 == 0){
badge3.setColorFilter(null);
addPoints(300);
b3=1;
}
}

public static void achieveBadge4(){
//Redeem a Reward
if(b4 == 0){
badge4.setColorFilter(null);
addPoints(50);
b4=1;
}
}

public static void achieveBadge5(){
//Log in 7 days
if(b5 == 0){
badge5.setColorFilter(null);
addPoints(100);
b5=1;
}
}

public static void achieveBadge6(){
//Earn 500 points
if(b6 == 0){
badge6.setColorFilter(null);
addPoints(100);
b6=1;
}
}

public static void achieveBadge7(){
//Reviewed a Course
if(b7 == 0){
badge7.setColorFilter(null);
addPoints(200);
b7=1;
}
}

public static void achieveBadge8(){
//Saved a course
if(b8 == 0){
badge8.setColorFilter(null);
addPoints(50);
b1=1;
}
}

public static void achieveBadge9(){
//Update a wam
if(b9 == 0){
badge9.setColorFilter(null);
addPoints(100);
b9=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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Badges">

<ImageView
android:id="@+id/badgeBackButton"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginStart="3dp"
android:layout_marginTop="29dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/back_arrow" />

<ImageView
android:id="@+id/questionButBadge"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginTop="40dp"
android:layout_marginEnd="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/question" />

<TextView
android:id="@+id/textPointsBadge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="176dp"
android:layout_marginEnd="176dp"
android:text="Points"
android:textColor="@color/colorLightPurple"
android:textSize="18sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textPointsValue" />

<TextView
android:id="@+id/textPointsValue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="176dp"
android:layout_marginEnd="177dp"
android:text="650"
android:textColor="@color/colorLightPurple"
android:textSize="35sp"
app:layout_constraintBottom_toTopOf="@+id/textPointsBadge"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView13" />

<TextView
android:id="@+id/badgesText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="139dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="139dp"
android:gravity="center"
android:text="Badges"
android:textAlignment="center"
android:textColor="@color/colorLightPurple"
android:textSize="40dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/summaryButtonBadge"
android:layout_width="161dp"
android:layout_height="48dp"
android:layout_marginStart="69dp"
android:layout_marginEnd="69dp"
android:layout_marginBottom="20dp"
android:background="@drawable/purple_square_button"
android:text="See Summary"
android:textAllCaps="false"
android:textColor="@color/colorWhite"
android:textSize="17dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />

<LinearLayout
android:id="@+id/linIconGrid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="10dp"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textPointsBadge">

<LinearLayout
android:id="@+id/linTopRow"
android:layout_width="match_parent"
android:layout_height="114dp"
android:orientation="horizontal">

<ImageView
android:id="@+id/imageBadge1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="5dp"
app:srcCompat="@drawable/badge1" />

<ImageView
android:id="@+id/imageBadge2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="5dp"
app:srcCompat="@drawable/badge2" />

<ImageView
android:id="@+id/imageBadge3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="5dp"
app:srcCompat="@drawable/badge3" />

</LinearLayout>

<LinearLayout
android:id="@+id/linMidRow"
android:layout_width="match_parent"
android:layout_height="114dp"
android:orientation="horizontal">

<ImageView
android:id="@+id/imageBadge4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="5dp"
app:srcCompat="@drawable/badge4" />

<ImageView
android:id="@+id/imageBadge5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="5dp"
app:srcCompat="@drawable/badge5" />

<ImageView
android:id="@+id/imageBadge6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="5dp"
app:srcCompat="@drawable/badge6" />

</LinearLayout>

<LinearLayout
android:id="@+id/linBotRow"
android:layout_width="match_parent"
android:layout_height="114dp"
android:orientation="horizontal">

<ImageView
android:id="@+id/imageBadge7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="5dp"
app:srcCompat="@drawable/badge7" />

<ImageView
android:id="@+id/imageBadge8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="5dp"
app:srcCompat="@drawable/badge8" />

<ImageView
android:id="@+id/imageBadge9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="5dp"
app:srcCompat="@drawable/badge9" />

</LinearLayout>
</LinearLayout>

<ImageView
android:id="@+id/imageView13"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_marginStart="178dp"
android:layout_marginEnd="178dp"
android:textAlignment="center"
app:layout_constraintBottom_toTopOf="@+id/textPointsValue"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/badgesText"
app:layout_constraintVertical_bias="0.0"
app:srcCompat="@drawable/onboarding2_logo2" />

</android.support.constraint.ConstraintLayout>

最佳答案

我认为您的布局超出了屏幕尺寸但没有滚动。您已经为某些布局元素分配了固定大小。尝试使用 nestedScrollView 封闭 constraintLayout。

但还要注意一件事:

<LinearLayout
android:id="@+id/linIconGrid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="10dp"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textPointsBadge">

为什么将 match_parent 用于 constraintLayout 的直接子项?如果你想使用全宽设置宽度为 0dp 并使用这些

   app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"

关于java - 线性布局网格在模拟器中显示但在设备上不显示,可能是什么原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57281780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com