gpt4 book ai didi

android - match_parent 在自定义工具栏中不起作用

转载 作者:太空狗 更新时间:2023-10-29 15:34:31 24 4
gpt4 key购买 nike

我制作了带有搜索和设置图标的自定义工具栏。当我点击搜索图标时,edittext 应该与 match_parent 匹配,并且应该占据可用空间直到搜索图标。然而它并没有发生。它只是在左上角出现非常小的空间。请帮助我错的地方

enter image description here

我想用 xml 分享我的整个代码

main_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<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="#DCDCDC"
android:padding="0dp"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="myresolver.faisal.home.com.myresolver.MainActivity">

<include
android:id="@+id/toolbar"
layout="@layout/my_toolbar"></include>

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar"
android:fillViewport="true">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="1dp"
android:weightSum="4"

>


<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="3">

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />

<ImageView
style="@style/icon"
android:background="@drawable/fear_96"></ImageView>

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="3">

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="3">

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="3">

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="3">

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="3">

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />

<ImageView
style="@style/icon"
android:background="@drawable/fear_96" />
</LinearLayout>


</LinearLayout>
</ScrollView>

</RelativeLayout>

我的工具栏.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/orange"
app:titleTextColor="@color/white"></android.support.v7.widget.Toolbar>

我的主菜单.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">

<item
app:showAsAction="always"
android:title="@string/search"
android:icon="@drawable/ic_search_white_24dp"
android:id="@+id/search"
></item>
<item
app:showAsAction="always"
android:title="@string/setting"
android:icon="@drawable/ic_settings_white_24dp"
android:id="@+id/setting"></item>
</menu>

我的 search_layout.xml

<?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">

<EditText
android:id="@+id/searchEditText"
android:layout_width="match_parent" // THIS IS NOT WORKING
android:layout_height="wrap_content"
android:imeOptions="actionSearch"
android:inputType="text" />

</LinearLayout>

我的 Activity

EditText searchEditText;
boolean isSearchBoxOpen = false;
Toolbar toolbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

}

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);


return super.onPrepareOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {
case R.id.search:
onSearchedHandler();
break;

case R.id.setting:
Toast.makeText(this, "Setting is UnderConstruction", Toast.LENGTH_LONG).show();
break;
}


return super.onOptionsItemSelected(item);
}

public void onSearchedHandler() {
if (isSearchBoxOpen) {

String word = searchEditText.getText().toString();

if (word != null) {
Toast.makeText(this, "Searching for ..." + word, Toast.LENGTH_LONG).show();
}
} else {

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(R.layout.search_layout);
actionBar.setDisplayShowTitleEnabled(false);

searchEditText = (EditText) actionBar.getCustomView().findViewById(R.id.searchEditText);

searchEditText.requestFocus();
InputMethodManager keyboard = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
keyboard.showSoftInput(searchEditText, InputMethodManager.HIDE_IMPLICIT_ONLY);


isSearchBoxOpen = true;

}

}

@Override
public void onBackPressed() {

if (isSearchBoxOpen) {

ActionBar actionBar = getSupportActionBar();

actionBar.setDisplayShowCustomEnabled(false);
actionBar.setDisplayShowTitleEnabled(true);
isSearchBoxOpen = false;

return;

}

super.onBackPressed();
}

最佳答案

使用以下代码进行工具栏 xlm 布局:

<android.support.v7.widget.Toolbar
xmlns:app="schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primaryColor"
android:contentInsetLeft="0dp"
android:contentInsetStart="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
android:contentInsetRight="0dp"
android:contentInsetEnd="0dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp" />

关于android - match_parent 在自定义工具栏中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38503258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com