0

すべてのボタンが適切な場所に適切なサイズで配置された、完全に機能するアプリから始めていますが、今回は初めてスタイルを使用してみました。特に、ボタンのテキストの色を濃い青、背景を白にしたかったのです。そこで、res/values の styles.xml に次のように書きました ->

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

   <style name="mybut"  parent="@android:style/Widget.Button">

        <item name="android:textColor">@color/dblue</item>
         <item name="android:background">#ffffffff</item>
    </style>

</resources>

ボタンのコードを次のように変更しました。

    <Button
        android:id="@+id/spec"
        style="@style/mybut"  <-- I added this line here
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.12"
        android:text="@string/spec" />

Eclipse の XML ビューアでは、新しいボタンはあらゆる点で適切に見えました。しかし、実行時に、私の Android デバイスでは、ボタンの高さが約 3 分の 1 に縮小されていました。何か案は?

編集:私はparent="@android:style/Widget.Button"ビットについてあまり自信がありません。おそらく、何らかの形ですでに他のスタイルを使用しているのではないかと疑っていますか?/テーマ? おそらく線は、parent="@android:otherstyle/Widget.Button"またはparent="@android:style/other.Widget.Button"...または類似のものに似ているはずです。

編集:参考までに.2つの大きなボタンだけを含む一種の「ホーム画面」アクティビティでこれを試しています。style="@style/mybut"2 つのボタンのうちの 1 つだけに を追加しました。それらは現在、明らかに非常に異なるサイズです。

編集:私が持っているマニフェストに気づいたandroid:theme="@android:style/Theme.NoTitleBar.Fullscreen"...それは、ボタンの親を作成する必要があるということですandroid:theme="@android:style/Theme.NoTitleBar.Fullscreen.Widget.Button"か?? またはそのようなもの?

4

2 に答える 2

1

デフォルトでは、aButtonには単純な色ではなく、9 パッチの背景があります。この画像には、ボタンの実際のサイズを変更するパディングとコンテンツ領域があります。

背景を変更すると、そのパディングが取り除かれ、小さく表示されます。これを行う正しい方法は、古いパッチをベースに、色を変更して新しい 9 パッチを作成することです。

于 2013-10-02T17:04:56.500 に答える
0

問題はここにあるはずです:

  android:layout_weight="0.12"

アプリを実行するときに action_bar などがある場合、ボタンは縮小します。あなたのプレビューでは、action_bar は表示されません (私は推測しています)。

編集:
これは、アプリで使用するカスタム ボタンのサンプルです。最小の高さと幅を設定します。使用する代わりに:parent="@android:style/Widget.Button"私は使用します:parent="android:Widget.Button"

<style name="ButtonCustom" parent="android:Widget.Button">
    <item name="android:background">@drawable/btn_default_holo_light</item>
    <item name="android:minHeight">48dip</item>
    <item name="android:minWidth">64dip</item>
    <item name="android:textColor">#fff</item>
</style>
于 2013-10-02T16:49:21.277 に答える