2

Androidアプリケーションを構築するためのリファレンスとしてオープンソースのantennapodアプリケーションを使用しようとしています。ActionBarSherlockを使用していて、レイアウトの下部に、パディングなしで左右に伸びるボタンを作成したいと考えています。次のようになります。

ここに画像の説明を入力してください

私のStyles.xmlは次のようになります。

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

    <style name="Theme.Application.Light" parent="@style/Theme.Sherlock.Light">
        <item name="attr/non_transparent_background">@color/white</item>
        <item name="attr/borderless_button">@drawable/borderless_button</item>   
    </style>

</resources>

borderless_button.xmlは次のようになります。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"><shape android:shape="rectangle">
        <solid android:color="@color/selection_background_color_light" />
        </shape></item>
    <item android:state_focused="true"><shape android:shape="rectangle">          
        <solid android:color="@color/selection_background_color_light" />
        </shape></item>
    <item><shape android:shape="rectangle">
        <solid android:color="@android:color/transparent" />
    </shape></item>
</selector>

attrs.xmlは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <attr name="borderless_button" format="reference" />
    <!-- Used in itemdescription -->
    <attr name="non_transparent_background" format="reference" />

</resources>

私のマニフェストにはこれがあります:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.Application.Light" >...</>

私のレイアウトは次のとおりです。

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

    <LinearLayout
        android:id="@+id/footer"
        style="@android:style/ButtonBar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/butConfirm"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Search" />

    </LinearLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/queryString"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_margin="8dp"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:text="What would you like to search for?" />

        <EditText
            android:id="@+id/etxtQueryString"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/queryString"
            android:layout_margin="8dp"
            android:hint="Enter Query"
            android:inputType="textUri" />

    </RelativeLayout>

</RelativeLayout>

最終的にどのように見えるか:

ここに画像の説明を入力してください

ボタンは1つだけ必要ですが、それでも画面の幅全体をカバーする必要があります。

これが私がガイドとして使用しているソースコードへのリンクです。 https://github.com/danieloeh/AntennaPod

どんな助けでも素晴らしいでしょう!

ありがとう

4

1 に答える 1

4
<Button
        android:id="@+id/butConfirm"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Search"
        android:background="@null"/>

これでうまくいくはずです!

于 2012-12-31T19:53:39.740 に答える