这个问题在这里已经有答案了:
adb.exe已过时,存在严重的性能问题(21个答案)
上个月关门了。
我是一个今年学习android studio和java的学生。上周我学习了进度条、搜索条和单选按钮。我的作业是使用单选按钮在照片之间切换,并使用进度栏、文本视图(百分比)和搜索栏来更改所选照片的不透明度。
我尽我所能,实际上,当我看“设计”,我可以看到我的进度栏,搜索栏,和文本视图,一切都很好,但当我启动应用程序(在sdk 19上),单选按钮不会改变选择的照片,我甚至看不到搜索栏,进度栏,和文本视图。
以下是xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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=".MainActivity"
android:orientation="vertical"
android:background="@drawable/appbackground">
<ImageView
android:layout_width="318dp"
android:layout_height="353dp"
android:src="@drawable/avatar"
android:layout_gravity="center"
android:layout_marginBottom="200sp"/>
<ImageView
android:id="@+id/element"
android:layout_width="137dp"
android:layout_height="128dp"
android:layout_marginStart="135sp"
android:layout_marginTop="195sp"
android:src="@drawable/abc_vector_test"
android:elevation="2sp"/>
<RadioGroup
android:id="@+id/radioG"
android:layout_width="wrap_content"
android:layout_height="133dp"
android:layout_marginTop="400dp"
android:background="@drawable/background"
android:orientation="vertical">
<RadioButton
android:id="@+id/w"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Water"
android:textColor="#03A9F4" />
<RadioButton
android:id="@+id/e"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Earth"
android:textColor="#652F00" />
<RadioButton
android:id="@+id/f"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Fire"
android:textColor="#FF5722" />
<RadioButton
android:id="@+id/a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Air"
android:textColor="#9C9C9C" />
</RadioGroup>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/text"
android:text="50%"
android:gravity="center"
android:layout_marginTop="570sp"
android:textSize="40sp"/>
<ProgressBar
android:id="@+id/prog"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="625sp" />
<SeekBar
android:id="@+id/seek"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="650sp"
android:max="100"
android:progress="50"
android:thumb="@drawable/uncleiroh2" />
</FrameLayout>
下面是java:
package com.example.avatarphotos;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.SeekBar;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements SeekBar.OnSeekBarChangeListener, RadioGroup.OnCheckedChangeListener {
private ImageView Element;
private TextView textView;
private ProgressBar progressBar;
private RadioGroup radioGroup;
private SeekBar seekBar;
//private RadioButton air;
//private RadioButton earth;
//private RadioButton water;
//private RadioButton fire;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Element = findViewById(R.id.element);
textView=findViewById(R.id.text);
progressBar=findViewById(R.id.prog);
seekBar=findViewById(R.id.seek);
radioGroup=findViewById(R.id.radioG);
radioGroup.setOnCheckedChangeListener(this);
seekBar.setOnSeekBarChangeListener(this);
}
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
progressBar.setProgress(i);
textView.setText(""+i+"%");
Element.setImageAlpha((int)(i/100.0*255));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (i){
case 0:
Element.setImageResource(R.drawable.water);
break;
case 1:
Element.setImageResource(R.drawable.earth);
break;
case 2:
Element.setImageResource(R.drawable.fire);
break;
case 3:
Element.setImageResource(R.drawable.air);
break;
}
}
}
设计照片:design app:app写这篇文章的时候,我收到了这个错误信息,所以我不知道它是否真的相关:问题信息
2条答案
按热度按时间sq1bmfud1#
为什么不尝试更新到adb的更新版本(或者更新整个android工作室)。
xqk2d5yq2#
你把这些都放进了一个
FrameLayout
有很大的固定利润。您丢失的视图可能是屏幕外的(android:layout_marginTop="625sp"
意味着你抵消了很多;另外,你应该使用dp
). 它在预览中工作的原因很可能是因为您在更大的屏幕上预览它的外观。我假设您这样做是因为framelayout会将所有视图放在彼此的顶部。您可以通过使用
ConstraintLayout
,或者RelativeLayout
以及LinearLayout
. 相对于彼此和屏幕定位视图,而不是以较大的固定偏移。