使用http://www.learn2crack.com/2014/06/android-sliding-navigation-drawer-example.html
的帮助我设法让我的导航抽屉工作。我还在抽屉里添加了一个标题。在我的标题中,我有一个Imageview,两个TextView
数据显示正常,但由于某些原因,每个手机的用户界面不同。图像被剪切或背景图像显示较大。
以下是我测试的Galaxy Nexus和Nexus 5的屏幕截图:
Nexus 5
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
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>
答案 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>