gpt4 book ai didi

android - 如何在android中做一个类似于Search风格的栏

转载 作者:搜寻专家 更新时间:2023-11-01 07:37:58 25 4
gpt4 key购买 nike

我已经尝试研究这个问题很多天了。我真的真的不知道如何开始做一个与下面非常相似的风格。我知道它由一个按钮和一个编辑文本组成。但是,我不知道如何开始。有人有类似样式栏的示例代码吗? Androdi search bar style

最佳答案

Android 搜索栏是原生元素和自定义元素的混合体。

搜索栏使用的Layout可以在这个路径的android源代码中找到(对于2.1版本我可以在我的硬盘上):

frameworks/base/core/res/res/layout/search_bar.xml

您可以在下面找到布局的详细信息:

<view
xmlns:android="http://schemas.android.com/apk/res/android"
class="android.app.SearchDialog$SearchBar"
android:id="@+id/search_bar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:focusable="true"
android:descendantFocusability="afterDescendants">

<!-- Outer layout defines the entire search bar at the top of the screen -->
<LinearLayout
android:id="@+id/search_plate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="12dip"
android:paddingRight="12dip"
android:paddingTop="7dip"
android:paddingBottom="16dip"
android:background="@drawable/search_plate_global" >

<!-- This is actually used for the badge icon *or* the badge label (or neither) -->
<TextView
android:id="@+id/search_badge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="2dip"
android:drawablePadding="0dip"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorPrimaryInverse" />

<!-- Inner layout contains the app icon, button(s) and EditText -->

<LinearLayout
android:id="@+id/search_edit_frame"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<ImageView
android:id="@+id/search_app_icon"
android:layout_height="36dip"
android:layout_width="36dip"
android:layout_marginRight="7dip"
android:layout_gravity="center_vertical"
/>

<view class="android.app.SearchDialog$SearchAutoComplete"
android:id="@+id/search_src_text"
android:background="@drawable/textfield_search"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_weight="1.0"
android:paddingLeft="8dip"
android:paddingRight="6dip"
android:drawablePadding="2dip"
android:singleLine="true"
android:ellipsize="end"
android:inputType="text|textAutoComplete"
android:dropDownWidth="fill_parent"
android:dropDownHeight="fill_parent"
android:dropDownAnchor="@id/search_plate"
android:dropDownVerticalOffset="-9dip"
android:popupBackground="@android:drawable/search_dropdown_background"
/>

<!-- This button can switch between text and icon "modes" -->
<Button
android:id="@+id/search_go_btn"
android:background="@drawable/btn_search_dialog"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
/>

<ImageButton
android:id="@+id/search_voice_btn"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="8dip"
android:background="@drawable/btn_search_dialog_voice"
android:src="@android:drawable/ic_btn_speak_now"
/>
</LinearLayout>
</LinearLayout>
</view>

所有的可绘制对象和样式也在源代码中。

要制作完全相同的东西,您必须在自己的项目中复制不同的元素。

您可能还需要查看不同的类:

  • SearchDialog.SearchBar
  • SearchDialog.SearchAutoComplete

关于android - 如何在android中做一个类似于Search风格的栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8158414/

25 4 0