应用程序android设计在api 21中被破坏,但在api 20及其后版本中工作

应用程序android设计在api 21中被破坏,但在api 20及其后版本中工作,android,Android,按钮的位置损坏,当我切换到api 21时,按钮被拉伸。但在API20中,反向工作效果良好。我正在开发android studio 1.5.1 在api 20上运行良好,请参见图片 编辑: MainActivity.xml的xml布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/res-auto"

按钮的位置损坏,当我切换到api 21时,按钮被拉伸。但在API20中,反向工作效果良好。我正在开发android studio 1.5.1

在api 20上运行良好,请参见图片

编辑:

MainActivity.xml的xml布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:orientation="vertical"
    android:background="@drawable/background"
    android:id="@+id/RootView"
    tools:context=".MainActivity">



<RelativeLayout
    android:id="@+id/mainLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

    <TextView
        android:id="@+id/titleTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"        
        android:minWidth="255dp"
        android:gravity="center_horizontal" 
        android:text="@string/app_name"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="20sp" />

    <View
        android:layout_width="fill_parent"
        android:layout_marginLeft="12dp"
        android:layout_marginRight="12dp"
        android:layout_height="1dip"
        android:background="#555555" 
        android:layout_below="@+id/titleTextView"   />



    <ImageView
        android:id="@+id/stationImageView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"            
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="12dp"
        android:layout_marginRight="12dp"
        android:layout_below="@+id/trackTextView"
        android:layout_above="@+id/statusTextView"
        android:src="@drawable/station_default"
        android:contentDescription="@null" />

    <TextView
        android:id="@+id/artistTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="40dp" 
        android:layout_alignStart="@+id/stationImageView"
        android:layout_alignLeft="@+id/stationImageView"       
        android:gravity="start" 
        android:text="@string/artist"
        android:textSize="12sp" />

    <TextView
        android:id="@+id/trackTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="55dp"
        android:layout_alignStart="@+id/stationImageView"       
        android:layout_alignLeft="@+id/stationImageView"        
        android:gravity="start" 
        android:text="@string/current_player_track"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textSize="14sp" />

    <TextView
        android:id="@+id/albumTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/artistTextView"
        android:layout_alignBottom="@+id/artistTextView"
        android:layout_alignRight="@+id/stationImageView"
        android:layout_alignEnd="@+id/stationImageView"
        android:gravity="start"
        android:text="@string/album"
        android:textSize="12sp" />

    <TextView
        android:id="@+id/timeTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/trackTextView"
        android:layout_alignBottom="@+id/trackTextView"
        android:layout_alignRight="@+id/stationImageView"
        android:layout_alignEnd="@+id/stationImageView"
        android:gravity="start"
        android:text=""
        android:textSize="12sp" />

    <TextView
        android:id="@+id/statusTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/volumebar"
        android:layout_centerHorizontal="true"
        android:textSize="12sp"         
        android:paddingBottom="5dp"
        android:text="@string/status_noconnection" />

    <Button
        android:id="@+id/PauseButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"    
        android:layout_alignParentBottom="true"    
        android:layout_alignStart="@+id/titleTextView"
        android:layout_alignLeft="@+id/titleTextView"
        android:layout_marginBottom="0dp"
        android:background="@drawable/btn_pause"
        android:onClick="onClickPauseButton"
        android:layout_alignParentStart="true" />

    <Button
        android:id="@+id/PlayButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"        
        android:layout_alignParentBottom="true"
        android:layout_alignStart="@+id/titleTextView"
        android:layout_alignLeft="@+id/titleTextView"
        android:layout_marginBottom="0dp"
        android:background="@drawable/btn_play"
        android:onClick="onClickPlayButton"
        android:layout_alignParentStart="true" />

    <Button
        android:id="@+id/StopButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
       android:layout_alignRight="@+id/titleTextView"
       android:layout_alignEnd="@+id/titleTextView"
        android:layout_marginBottom="0dp"
        android:background="@drawable/btn_stop"
        android:onClick="onClickStopButton"
        android:layout_alignParentEnd="true" />

    <Button
        android:id="@+id/NextButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"        
        android:layout_alignParentBottom="true"
        android:layout_toLeftOf="@+id/StopButton"
        android:layout_toStartOf="@+id/StopButton"
        android:layout_marginBottom="0dp"
        android:background="@drawable/btn_next"
        android:onClick="onClickNextButton"
        android:layout_alignParentStart="false"
        android:layout_alignParentEnd="false" />

    <Button
        android:id="@+id/PreviousButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"        
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@+id/PlayButton"
        android:layout_toEndOf="@+id/PlayButton"
        android:layout_marginBottom="0dp"
        android:background="@drawable/btn_previous"
        android:onClick="onClickPreviousButton" />

    <ImageView
        android:id="@+id/vol"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/volumebar"
        android:layout_alignLeft="@+id/stationImageView"
        android:layout_alignStart="@+id/stationImageView"           
        android:layout_alignTop="@+id/volumebar"            
        android:src="@drawable/icon_volume" 
        android:contentDescription="@null"/>

    <SeekBar
        android:id="@+id/volumebar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/PlayButton"
        android:layout_alignRight="@+id/stationImageView"
        android:layout_alignEnd="@+id/stationImageView"
        android:layout_toRightOf="@+id/vol"
        android:layout_toEndOf="@+id/vol"
        android:paddingStart="5dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"      
        />


</RelativeLayout>

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <com.google.android.gms.ads.AdView
        android:id="@+id/adLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="@string/admob_publisher_id" >
    </com.google.android.gms.ads.AdView>
</RelativeLayout>


将图像添加到所有可绘制文件夹中,如mdpi、xhdpi、xxhdpi、xxxhdpi等。较新版本的手机可能具有更高的分辨率,需要更好的图像才能工作

我的解决方案是在activity_main.xml中使用对象图像按钮,而不是按钮


有了这个,我可以解决这个问题。

一定要共享这些按钮布局的xml代码。@Elye-answer已更新。我已经为MainLayout添加了xml代码,我已经在这些文件夹中添加了所有图像,但是图像仍然被拉伸并与按钮重叠