带有Textviews,按钮的Android导航抽屉

时间:2015-01-21 19:59:39

标签: android navigation-drawer

我正在尝试创建个人详细信息页面,用户可以在其中查看和更改他/她的个人详细信息。我按照教程创建了一个导航抽屉,用于加载ListView。问题是我需要添加几个TextViews和1个按钮,但无论我把它们放在xml中,它们都会一直显示在抽屉外面,弄乱了整个布局。有帮助吗?感谢大家的时间!!!

GuestMain.java



public class GuestMain extends Activity {
	
	/////////NAVIGATIONA LDRAWER///////
	String[] info;
    DrawerLayout dLayout;
    ListView dList;
    ArrayAdapter<String> adapter;
    ///////////////////////////////////
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_guest_main);
        addListenerOnButton();
        ////////////////////////////////////////NAVIGATIONAL DRAWER//////////////////////////////////////////////
		info = new String[]{"Full Name","Phone Number","Email","Address","Country","City"};
        dLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        dList = (ListView) findViewById(R.id.left_drawer);
        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,info);
        dList.setAdapter(adapter);
        dList.setSelector(android.R.color.darker_gray);
		/////////////////////////////////////////////////////////////////////
	}
&#13;
&#13;
&#13;

activity_guest_main.xml

&#13;
&#13;
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/drawer_layout"
	android:layout_width="match_parent"
	android:layout_height="match_parent" >
    
    
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    tools:context="com.example.domotel.GuestMain" >
    
    <ImageButton
        android:id="@+id/iconback"
        android:contentDescription="@string/btn_back"
        android:src="@drawable/icon_back"
        android:layout_width="40dp"
        android:layout_height="25dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:layout_marginTop="11dp"
        android:scaleType="fitStart"
        android:clickable="true"
        android:background="#e5b53a" />
    
    <ImageButton
        android:id="@+id/iconuser"
        android:contentDescription="@string/btn_back"
        android:src="@drawable/icon_user"
        android:layout_width="40dp"
        android:layout_height="25dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:layout_marginTop="12dp"
        android:scaleType="fitStart"
        android:clickable="true"
        android:background="#e5b53a" />
    </RelativeLayout>

		<FrameLayout
			android:id="@+id/content_frame"
			android:layout_width="match_parent"
			android:layout_height="match_parent" />
		
		<ListView
			android:id="@+id/left_drawer"
			android:layout_width="240dp"
			android:layout_height="match_parent"
			android:layout_gravity="start"
			android:choiceMode="singleChoice"
			android:divider="@android:color/transparent"
			android:dividerHeight="0dp"
			android:background="#d9ffffff"/>
			<!-- 85% Opacity -->

</android.support.v4.widget.DrawerLayout>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

不确定我是否完全明白你要做什么,但这是我理解你的意思的方式。您希望能够编辑抽屉内的项目,然后将更改反映在外部。真的不要认为这就是抽屉的设计目的。但是为了使抽屉内的文本框具有字符串,您可以使用包含字符串和文本框的列表视图创建另一个xml布局文件。然后代替android.R.layout.simple_list_item_1,你将使用你的xml布局文件中的drawer_layout

adapter = new ArrayAdapter(this,R.layout.drawer_layout,R.id.text_field,info)

然后你需要处理抽屉内的文字和布局