Java android 6上的布局问题。充气机问题?在Android 5及更高版本上运行良好

Java android 6上的布局问题。充气机问题?在Android 5及更高版本上运行良好,java,android,eclipse,android-layout,layout-inflater,Java,Android,Eclipse,Android Layout,Layout Inflater,试图找出这个布局出了什么问题。该应用程序是客户端的,实现了许多不推荐使用/不再维护的库(actionbar sherlock、jess.ui.grid.lib、com.mandrk.pulltorefresh.library)。在安卓5(Nexus 7)上,一切都很好,但在安卓6(Nexus 5)上,布局中的图像消失了,文本视图可见,但它们最终在屏幕上分散得很远。在Eclipse中,视图看起来很好。如果我把视图放在一个独立的应用程序中,效果会很好。不幸的是,这个应用程序有点复杂,我不是安卓专家,

试图找出这个布局出了什么问题。该应用程序是客户端的,实现了许多不推荐使用/不再维护的库(actionbar sherlock、jess.ui.grid.lib、com.mandrk.pulltorefresh.library)。在安卓5(Nexus 7)上,一切都很好,但在安卓6(Nexus 5)上,布局中的图像消失了,文本视图可见,但它们最终在屏幕上分散得很远。在Eclipse中,视图看起来很好。如果我把视图放在一个独立的应用程序中,效果会很好。不幸的是,这个应用程序有点复杂,我不是安卓专家,所以很难调试。因此,我们非常感谢您的帮助

我知道这是一个远大的希望,因为我不能提供一个复制这个问题的示例项目,但我希望有人遇到了类似的问题,可以提供帮助

首先,图片如下: Nexus7-Android 5.1.1正常

Nexus5-Android 6.0。。。一些文本在屏幕下方可见,但没有图像,也不是所有文本

home_activity_intro.xml[已编辑-抱歉粘贴了错误的xml]

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_centerInParent="true"
    android:layout_gravity="center_horizontal"
    android:layout_marginStart="10dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginEnd="10dp"
    android:layout_marginTop="30dp"
    android:gravity="center_horizontal"
    android:orientation="vertical" >

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal" >

        <ImageButton
            android:id="@+id/home_intro_tutorial_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:background="@android:color/transparent"
            android:scaleType="fitCenter"
            android:src="@drawable/home_callout_top" 
            android:contentDescription="@string/home_intro_tutorial_title"/>

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            android:text="@string/home_intro_tutorial_title"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <FrameLayout 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_gravity="center_horizontal|bottom">

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="30dp"
                android:src="@drawable/generic_blank_btn_up" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|bottom"
                android:layout_marginBottom="5dp"
                android:text="@string/home_intro_tutorial_sub_title"
                android:textAppearance="?android:attr/textAppearanceMedium" />
        </FrameLayout>
    </FrameLayout>

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

        <ImageButton
            android:id="@+id/home_intro_tutorial_find_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:background="@android:color/transparent"
            android:scaleType="fitCenter"
            android:src="@drawable/home_callout_find_and_follow" />

        <TextView
            android:id="@+id/followCalloutTitle"
            style="@style/calloutTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="105dp"
            android:layout_marginLeft="105dp"
            android:text="@string/home_intro_find_title" />

       <TextView
           android:id="@+id/followCalloutSubTitle"
           style="@style/calloutSubTitle"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignStart="@id/followCalloutTitle" 
           android:layout_alignLeft="@id/followCalloutTitle"
           android:layout_alignEnd="@id/home_intro_tutorial_find_button"
           android:layout_alignRight="@id/home_intro_tutorial_find_button"
           android:layout_below="@id/followCalloutTitle"
           android:layout_marginEnd="10dp"
           android:layout_marginRight="10dp"
           android:text="@string/home_intro_find_sub_title" />              
     </RelativeLayout>


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

        <ImageButton
            android:id="@+id/home_intro_share_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:background="@android:color/transparent"
            android:scaleType="fitCenter"
            android:src="@drawable/home_callout_share" />

        <TextView
            android:id="@+id/shareCalloutTitle"
            style="@style/calloutTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="25dp"
            android:layout_marginLeft="25dp"
            android:text="@string/home_intro_share_title" />

       <TextView
           android:id="@+id/shareCalloutSubTitle"
           style="@style/calloutSubTitle"
           android:layout_width="180dp"
           android:layout_height="wrap_content"
           android:layout_alignStart="@id/shareCalloutTitle"
           android:layout_alignLeft="@id/shareCalloutTitle"
           android:layout_below="@id/shareCalloutTitle"
           android:layout_marginEnd="10dp"
           android:layout_marginRight="10dp"
           android:text="@string/home_intro_share_sub_title" />
    </RelativeLayout>


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

        <ImageButton
            android:id="@+id/home_intro_collections_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:background="@android:color/transparent"
            android:scaleType="fitCenter"
            android:src="@drawable/home_callout_collections" />

        <TextView
            android:id="@+id/collectionCalloutTitle"
            style="@style/calloutTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="125dp"
            android:layout_marginLeft="125dp"
            android:text="@string/home_intro_collections_title" />

        <TextView
            android:id="@+id/collectionCalloutSubTitle"
            style="@style/calloutSubTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignStart="@id/collectionCalloutTitle"
            android:layout_alignLeft="@id/collectionCalloutTitle"
            android:layout_alignEnd="@id/home_intro_collections_button"
            android:layout_alignRight="@id/home_intro_collections_button"
            android:layout_below="@id/collectionCalloutTitle"
            android:layout_marginEnd="30dp"
            android:layout_marginRight="30dp"
            android:text="@string/home_intro_collections_sub_title" />
     </RelativeLayout>


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

        <ImageButton
            android:id="@+id/home_intro_privacy_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:background="@android:color/transparent"
            android:scaleType="fitCenter"
            android:src="@drawable/home_callout_privacy" />

        <TextView
            android:id="@+id/privacyCalloutTitle"
            style="@style/calloutTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="25dp"
            android:layout_marginLeft="25dp"
            android:text="@string/home_intro_privacy_title" />

       <TextView
           android:id="@+id/privacyCalloutSubTitle"
           style="@style/calloutSubTitle"
           android:layout_width="180dp"
           android:layout_height="wrap_content"
           android:layout_alignStart="@id/privacyCalloutTitle"
           android:layout_alignLeft="@id/privacyCalloutTitle"
           android:layout_below="@id/privacyCalloutTitle"
           android:layout_marginRight="10dp"
           android:layout_marginEnd="10dp"
           android:text="@string/home_intro_privacy_sub_title" />
    </RelativeLayout>
</LinearLayout>

HomeActivityAdapterIntro.java

package com.shared2you.android.powerslyde.activities.main_activity.home_screen;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.LinearLayout;

import com.shared2you.android.powerslyde.R;
import com.shared2you.android.powerslyde.activities.main_activity.BaseActivity;
import com.shared2you.android.powerslyde.activities.main_activity.profile_screen.ProfileEditActivity;
import com.shared2you.android.powerslyde.networkApis.AndroidLog;

/* Adapter for the activities list on the Home Page. When there are 0 memberActivities to display
 * the intro row will be displayed.
 */
public class HomeActivityAdapterIntro extends ArrayAdapter<HomeActivityResult> {

    private static String TAG = "HomeActivityAdapterIntro";
    private final Context context;
    private final HomeActivityResult[] values;

    public HomeActivityAdapterIntro(Context context, HomeActivityResult[] values) {
        super(context, R.layout.left_nav_row, values);
        this.context = context;
        this.values = values;

        String valuesOut = "";
        for (int i = 0; i < values.length; i++) {
            if (values[i].activityType == HomeActivityResult.kHomeActivityResultIntro)
                valuesOut += "kHomeActivityResultIntro";
            else if (values[i].activityType == HomeActivityResult.kHomeActivityResultReal)
                valuesOut += "kHomeActivityResultReal";
            else
                valuesOut += "uknown";

            if (i < values.length - 1)
                valuesOut += ", ";
        }

        AndroidLog.i(TAG, "constructor -- values count: " + String.valueOf(values.length) + " -- values: " + valuesOut);
    }

    /*
     * Static method, called by object that creates HomeActivityAdapter to get
     * the array that should be passed into the HomeActivityAdapter constructor
     */
    public static HomeActivityResult[] retrieveIntroValues() {
        // TODO: get activity from sqllite
        // Right now we are just creating a black HomeActivityResults row and
        // setting the type to 'kHomeActivityResultIntro'
        HomeActivityResult[] results = new HomeActivityResult[1];
        results[0] = new HomeActivityResult(null, HomeActivityResult.kHomeActivityResultIntro);
        AndroidLog.i(TAG, "retrieveIntroValues - setting typ to kHomeActivityResultIntro");
        return results;

    }

    /*
     * Returns row based on HomeActivityResult.activityType. Can display intro
     * row, or activity row. (non-Javadoc)
     * 
     * @see android.widget.ArrayAdapter#getView(int, android.view.View,
     * android.view.ViewGroup)
     */
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO: Create and return activity row when appropriate

        HomeActivityResult result = values[position];
        AndroidLog.i(TAG, "getView -- position: " + String.valueOf(position) + " result.activityType: "
                + ((result.activityType == HomeActivityResult.kHomeActivityResultIntro) ? "intro" : "real activity"));
        View rowView = null;
        if (result.activityType == HomeActivityResult.kHomeActivityResultIntro) {
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            rowView = inflater.inflate(R.layout.home_activity_intro, parent, false);

            // load youtube tutorial on tutorial button click
            final ImageButton tutorialButton = (ImageButton) rowView.findViewById(R.id.home_intro_tutorial_button);
            tutorialButton.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    context.startActivity(
                            new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=_78yr9R-cCA")));
                }
            });

            final ImageButton findButton = (ImageButton) rowView.findViewById(R.id.home_intro_tutorial_find_button);
            findButton.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                    EditText searchText = (EditText) ((Activity) context).findViewById(R.id.searchText);
                    searchText.requestFocus();
                }
            });

            final ImageButton shareButton = (ImageButton) rowView.findViewById(R.id.home_intro_share_button);
            shareButton.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                    BaseActivity baseActivity = (BaseActivity) context;
                    baseActivity.menu.setContent(baseActivity.shareView);
                    baseActivity.setupCommon();
                    baseActivity.shareViewController.setupShareView();
                    baseActivity.fromHomeIntro = true;
                }
            });

            final ImageButton collectionsButton = (ImageButton) rowView
                    .findViewById(R.id.home_intro_collections_button);
            collectionsButton.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                    BaseActivity baseActivity = (BaseActivity) context;
                    baseActivity.menu.setContent(baseActivity.collectionsView);
                    baseActivity.setupCommon();
                    baseActivity.collectionsViewController.setupCollectionsView();
                    baseActivity.fromHomeIntro = true;

                }
            });

            final ImageButton privacyButton = (ImageButton) rowView.findViewById(R.id.home_intro_privacy_button);
            privacyButton.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                    Intent editIntent = new Intent(context, ProfileEditActivity.class);
                    context.startActivity(editIntent);
                }
            });

            if (parent == null)
                AndroidLog.e(TAG, "Parent is null");
            else
                AndroidLog.i(TAG, "Parent is not null - parent class is: " + parent.getClass().getName());

        } else {
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            rowView = inflater.inflate(R.layout.home_activity_intro, parent, false);
        }
        return rowView;
    }
}
package com.shared2you.android.powerslyde.activities.main\u activity.home\u屏幕;
导入android.app.Activity;
导入android.content.Context;
导入android.content.Intent;
导入android.net.Uri;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.view.ViewGroup;
导入android.view.ViewTreeObserver;
导入android.view.ViewTreeObserver.OnGlobalLayoutListener;
导入android.widget.ArrayAdapter;
导入android.widget.EditText;
导入android.widget.ImageButton;
导入android.widget.LinearLayout;
导入com.shared2you.android.powerslyde.R;
导入com.shared2you.android.powerslyde.activities.main_activity.BaseActivity;
导入com.shared2you.android.powerslyde.activities.main\u activity.profile\u screen.ProfileEditActivity;
导入com.shared2you.android.powerslyde.networkapi.AndroidLog;
/*主页上活动列表的适配器。当有0个memberActivities要显示时
*将显示介绍行。
*/
公共类HomeActivityAdapterIntro扩展阵列适配器{
私有静态字符串TAG=“HomeActivityAdapterEntro”;
私人最终语境;
私人最终家庭活动结果[]值;
public HomeActivityAdapterIntro(上下文上下文,HomeActivityResult[]值){
超级(上下文、右布局、左导航行、值);
this.context=上下文;
这个值=值;
字符串值sout=“”;
对于(int i=0;i