我想Button在Android App中点击时将用户重定向到特定的URL .
我的所有6项活动中都有7个按钮.所有6个按钮在所有活动中都具有相同的功能.如何为这6个按钮执行常见的单击事件lisnter.
我正在尝试将我的应用程序中所有按钮的TextColor更改为白色,并尝试将其设置为粗体.但这没有发生,我正在覆盖the android:Widget.Button
我正在为Jelly Bean开发4.1.2我做错了什么?
清单中的主题定义
android:theme="@style/spui" >
Run Code Online (Sandbox Code Playgroud)
我喜欢的主题
<style name="spui" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:buttonStyle">@style/Buttonspui</item>
</style>
Run Code Online (Sandbox Code Playgroud)
按钮本身的样式
<style name="Buttonspui" 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">#ffffff</item>
<item name="android:textStyle">bold</item>
</style>
Run Code Online (Sandbox Code Playgroud)
按钮
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="@string/edit"
android:id="@+id/btnEdit"
style="@style/Buttonspui"/>
Run Code Online (Sandbox Code Playgroud) 我想在我的应用程序中为Button提供以下设置.您可以将其视为按钮的一些主题更改.
样式圆形或正常
颜色红色或黄色或蓝色或任何颜色代码
我知道在XML中定义Shape,我可以实现Rounded Corners.有了setBackgroundColor,我可以将任何颜色设置为背景.
问题
根据我称之为的顺序setBackgroundColor,两者都 setBackground相互重叠.所以我无法在同一个按钮上实现这两种效果.我怎样才能同时实现这两种效果.如何从单个Button类中获得多个按钮.提前致谢.

我试图保持棒棒糖及以上(21+)设备的材料设计波纹效果,并对按钮进行风格化,使其周围没有大的边距/空间.
示例1:具有连锁效应但具有边距/间隙的按钮:

示例2:没有波纹效应且没有边距/间隙的按钮:

我希望Exmaple 2的布局具有示例1中使用的涟漪效应.
我styles-v21对实例1的看法如何:
<?xml version="1.0" encoding="utf-8"?>
<resources>
... other styles ...
<style name="FacebookButton" parent="android:Widget.Material.Button">
<item name="android:colorButtonNormal">#ff3b5998</item>
<item name="android:layout_margin">0dp</item>
<item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item>
</style>
<style name="GoogleButton" parent="android:Widget.Material.Button">
<item name="android:colorButtonNormal">#ffdd4b39</item>
<item name="android:layout_margin">0dp</item>
<item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item>
</style>
<style name="TwitterButton" parent="android:Widget.Material.Button">
<item name="android:colorButtonNormal">#ff55acee</item>
<item name="android:layout_margin">0dp</item>
<item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item>
</style>
<style name="SkipButton" parent="android:Widget.Material.Button">
<item name="android:colorButtonNormal">#ffdfa800</item>
<item name="android:layout_margin">0dp</item>
<item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
示例1的按钮布局是什么样的:
<Button
android:id="@+id/login_with_facebook"
android:text="@string/login_with_facebook"
android:fontFamily="sans-serif-condensed"
android:textSize="16sp"
android:drawableLeft="@drawable/facebook_icon"
android:drawablePadding="25dp"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_weight="16.88"
android:textColor="#ffffff"
android:gravity="left|center_vertical"
android:paddingLeft="45dp" …Run Code Online (Sandbox Code Playgroud) android android-theme android-button material-design android-5.0-lollipop
问题就是这一切.想象一下,有2个活动,'活动A'和'活动B'.'活动A'保持一个复选框,当检查按钮应该显示在'活动B'时,如果未选中该按钮应该隐藏在'活动B'上
以下是主要活动
public class MainActivity extends ActionBarActivity {
private BubblesManager bubblesManager;
private boolean isCheckedValue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initializeBubblesManager();
final Button add = (Button) findViewById(R.id.add);
add.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
addNewBubble();
add.setEnabled(false);
}
});
CheckBox checkBox = (CheckBox)findViewById(R.id.add_fb);
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
isCheckedValue = isChecked;
Intent intent = new Intent(MainActivity.this, PopUpWindow.class);
intent.putExtra("yourBoolName", isCheckedValue );
}
});
}
private void addNewBubble() {
BubbleLayout bubbleView = (BubbleLayout)LayoutInflater.from(MainActivity.this).inflate(R.layout.bubble_layout, null); …Run Code Online (Sandbox Code Playgroud) 我意识到这有点奇怪,但我有一个按钮需要看起来像一个EditText但仍然像按钮一样.我的布局XML目前看起来像这样:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/editTextStyle" />
Run Code Online (Sandbox Code Playgroud)
这给了它一个EditText的外观,但是由于阻止了onClick事件被触发,除非按钮具有焦点(有效地使它需要两次点击),所以还会稍微混淆行为.有没有办法保持风格而不改变按钮的行为?
我想过只做一个看起来像EditText的9补丁背景,但是有很多不同的Android版本和皮肤,我宁可使用系统风格,如果可能的话.
我必须将A和B写入编辑文本的按钮.如果edittext中有什么内容,我怎么能用"Del"按钮删除最后一个字母?
我的布局:
<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"
tools:context=".MainActivity" >
<Button
android:id="@+id/buttonb"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/buttona"
android:text="@string/buttonb"
android:textSize="50sp"
android:textStyle="bold" />
<Button
android:id="@+id/buttona"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="@string/buttona"
android:textSize="50sp"
android:textStyle="bold" />
<Button
android:id="@+id/buttondel"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="@string/buttondel"
android:textSize="50sp"
android:textStyle="bold" />
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:ems="58"
android:textSize="20sp"
android:textStyle="bold"
android:inputType="text" >
<requestFocus />
</EditText>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
而我的java:
package com.koostamas.keyboard;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.app.Activity;
public class MainActivity extends Activity implements OnClickListener {
Button buttona, buttondel; …Run Code Online (Sandbox Code Playgroud) 我有一些XML.在这个XML中,相对布局中有一个按钮.相对布局占据整个屏幕.我希望按钮有1/3的屏幕宽度和高度.我怎么能这样做?
这是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:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingTop="0dp"
android:paddingBottom="0dp"
tools:context="com.vroy.trapper.MainMenuActivity"
android:layout_weight="2">
<Button
android:layout_width="0dp"
android:layout_height="0dp"
android:text="@string/menu_button_text"
android:background="@drawable/round_button"
android:id="@+id/button"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我看了这个问题,但即使我为相对布局本身分配了一个权重,我也无法为按钮分配权重.