导航抽屉与Android中的标题

时间:2014-08-13 12:14:44

标签: android android-layout android-linearlayout

使用http://www.learn2crack.com/2014/06/android-sliding-navigation-drawer-example.html

的帮助

我设法让我的导航抽屉工作。我还在抽屉里添加了一个标题。在我的标题中,我有一个Imageview,两个TextView

数据显示正常,但由于某些原因,每个手机的用户界面不同。图像被剪切或背景图像显示较大。

以下是我测试的Galaxy Nexus和Nexus 5的屏幕截图:

enter image description here Nexus 5

enter image description here

Galaxy Nexus

以下是标题XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearTotalLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/backgroundforprofile"
android:baselineAligned="false"
android:orientation="horizontal" >

<LinearLayout
    android:id="@+id/LinearLayoutforImage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight=".30"
    android:padding="10dp" >

    <ImageView
        android:id="@+id/imageforprofile"
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:src="@drawable/profilepic" />
</LinearLayout>

<LinearLayout
    android:id="@+id/LinearLayoutforText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="left|center"
    android:layout_weight=".70"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textforprofile"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="left"
        android:text="Joe David"
        android:textColor="#FFFFFF"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textforprofileemail"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="left"
        android:text="JoeDavidJoeDavi@joedavidjoedavid.com"
        android:textColor="#FFFFFF"
        android:textStyle="bold" />
</LinearLayout>

</LinearLayout>

有人可以帮我解决这个问题吗?

谢谢!

更新

根据@Rohan Pawar和@westito的建议我将布局更改为相对ImageView没有被剪切并且文本正常显示,但背景图像仍然是Galaxy Nexus和Nexus 5的差异。请参阅我的截图如下。

Galaxy Nexus Screen

Galaxy Nexus

Nexus 5 Screen

Nexus 5

这是我的XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearTotalLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/backgroundforprofile"
android:baselineAligned="false"
android:orientation="horizontal" >

<ImageView
    android:id="@+id/imageforprofile"
    android:layout_width="45dp"
    android:layout_height="45dp"
    android:paddingLeft="5dp"
    android:paddingTop="10dp"
    android:src="@drawable/profilepic" />

<TextView
    android:id="@+id/textforprofile"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/imageforprofile"
    android:gravity="left"
    android:paddingLeft="5dp"
    android:paddingTop="10dp"
    android:text="Dushyant Prabhu"
    android:textColor="#FFFFFF"
    android:textStyle="bold" />

<TextView
    android:id="@+id/textforprofileemail"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textforprofile"
    android:layout_toRightOf="@+id/imageforprofile"
    android:gravity="left"
    android:paddingLeft="5dp"
    android:text="developer@sybershocknetworks.com"
    android:textColor="#FFFFFF"
    android:textStyle="bold" />

</RelativeLayout>

3 个答案:

答案 0 :(得分:2)

问题是你的布局。而不是LinearLayouts,尝试使用RelativeLayout。这种布局效率更高。

<RelativeLayout>
    <ImageView id="@+id/image" />
    <TextView  layout_toRightOf="@+id/image" />
</RelativeLayout>

这是一个“伪”样本。您可以将TextView放在ImageView旁边

答案 1 :(得分:2)

@TheDevMan我有两台设备Nexus 5和Galaxy nexus,我已经测试了你的代码在两台设备上的完美工作

三星Galaxy Nexus = 720 x 1280像素,4.65英寸(~316 ppi像素密度)

LG Nexus 5 = 1080 x 1920像素,4.95英寸(~445 ppi像素密度)

但我没有你的背景图片来测试

答案 2 :(得分:0)

试试这个标题&amp;根据需要自定义它可以肯定

 <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="5dp"
            android:layout_marginLeft="12dp"
            android:layout_marginBottom="7dp"
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/image_header"
                android:layout_width="55dp"
                android:layout_height="55dp"
                android:layout_marginTop="4dp"
                android:background="@drawable/placeholder"
                android:scaleType="fitXY" />

            <TextView
                android:id="@+id/nav_user_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="18dp"
                android:text="Krunal Patel"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textColor="#ffff"
                android:textSize="19dp" />
        </LinearLayout>

    </LinearLayout>