如何创建具有背景白色和无边框的按钮,只有文本下方的底线

时间:2017-04-10 06:14:01

标签: xamarin xamarin.android

我一直在寻找解决方案但找不到。

我想要一个没有边框但带有底线的文本的按钮(它看起来像是Web中的链接按钮)。

下面是按钮,我尝试了以下属性:

android:style="@style/Widget.AppCompat.Button.Borderless"
android:style="?android:attr/buttonBarButtonStyle
android:style="?android:attr/borderlessButtonStyle" 
android:style="@android:style/Widget.Holo.Button.Borderless"



<Button            
android:id="@+id/ForgetPwd"            
android:layout_width="fill_parent"            
android:layout_height="wrap_content"            
android:layout_margin="10dp"            
android:background="#7AD8D3"            
android:text="Forget password"  

android:style="?android:attr/borderlessButtonStyle"    

android:textColor="#ffffff" />

欢迎提出任何建议。

1 个答案:

答案 0 :(得分:0)

使用材质设计中的平面按钮来获得无边框按钮。

http://www.materialdoc.com/flat-button/

//temp file path
string tempDbPath = System.AppDomain.CurrentDomain.BaseDirectory.ToString();
//temp db file name
string tempDbFile = "tempdb.xlsx";
//path + filename
string tempDBLocation = Path.Combine(tempDbPath, tempDbFile);
//get byte array from application's resources
byte[] resourceBytes = Properties.Resources.DataBase;

//write all bytes to specified location
File.WriteAllBytes(tempDBLocation, resourceBytes);

//connect and select data as usual
string constr = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=NO""", tempDBLocation);
using (OleDbConnection conn = new OleDbConnection(constr))
{
    conn.Open();
    OleDbCommand command = new OleDbCommand(string.Format("Select * from [{0}]", "Sheet1$"), conn);
    OleDbDataReader reader = command.ExecuteReader();
}

//delete temp file
File.Delete(tempDBLocation);

我认为你不能只用xml的按钮文字下划线。您可以使用以下代码

来实现它
<Button
    android:id="@+id/ForgetPwd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Forgot Password?"
    style="@style/Widget.AppCompat.Button.Borderless"/>

enter image description here