Android開(kāi)發(fā)-RadioButton,CheckBox,ImageView

RadioButton

  • 常用屬性
  • 自定義樣式
  • 監(jiān)聽(tīng)事件

選擇效果圖

RadioButton

代碼

activity_radio_button.xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp">

    <RadioGroup
        android:id="@+id/rg_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <RadioButton
            android:id="@+id/rb_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="男"
            android:textColor="#FF9800"
            android:textSize="18sp"
            android:checked="true"/>

        <RadioButton
            android:id="@+id/rb_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/rb_1"
            android:text="女"
            android:textColor="#FF9800"
            android:textSize="18sp"/>
    </RadioGroup>

    <RadioGroup
        android:id="@+id/rg_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/rg_1"
        android:orientation="horizontal"
        android:layout_marginTop="50dp">

        <RadioButton
            android:id="@+id/rb_3"
            android:layout_width="60dp"
            android:layout_height="30dp"
            android:gravity="center"
            android:text="男"
            android:textColor="#000"
            android:textSize="18sp"
            android:checked="true"
            android:button="@null"
            android:background="@drawable/selector_orange_radiobtn"
            />

        <RadioButton
            android:id="@+id/rb_4"
            android:layout_width="60dp"
            android:layout_height="30dp"
            android:gravity="center"
            android:text="女"
            android:textColor="#000"
            android:textSize="18sp"
            android:button="@null"
            android:layout_marginLeft="10dp"
            android:background="@drawable/selector_orange_radiobtn"
            />

    </RadioGroup>

</RelativeLayout>

選項(xiàng)背景效果
selector_orange_radiobtn.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">


    <item android:state_checked="true">
        <shape>
            <solid android:color="#9C640B" />
            <corners android:radius="5dp" />
        </shape>
    </item>

    <item android:state_checked="false">
        <shape>
            <stroke
                android:width="1dp"
                android:color="#97723A" />
            <corners android:radius="5dp" />
        </shape>
    </item>

</selector>

RadioButtonActivity代碼

public class RadioButtonActivity extends AppCompatActivity {

    private RadioGroup mRG1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_radio_button);

        mRG1 = findViewById(R.id.rg_1);
        mRG1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                RadioButton radioButton = group.findViewById(checkedId);
                Toast.makeText(RadioButtonActivity.this, radioButton.getText(), Toast.LENGTH_SHORT).show();
            }
        });
    }
}

CheckBox

  • 常用屬性
  • 自定義樣式
  • 監(jiān)聽(tīng)事件

復(fù)選框效果圖


復(fù)選框效果圖

代碼
activity_check_box.xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15dp">

    <TextView
        android:id="@+id/tv_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="你會(huì)哪些移動(dòng)開(kāi)發(fā):"
        android:textColor="#000"
        android:layout_marginTop="10dp"/>

    <CheckBox
        android:id="@+id/cb_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Android"
        android:layout_below="@id/tv_title"/>

    <CheckBox
        android:id="@+id/cb_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="iOS"
        android:layout_below="@id/cb_1"/>

    <CheckBox
        android:id="@+id/cb_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="H5"
        android:layout_below="@id/cb_2"/>

    <CheckBox
        android:id="@+id/cb_4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="其它"
        android:layout_below="@id/cb_3"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_below="@id/cb_4"
        android:layout_marginTop="40dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="你的興趣:"
            android:textSize="20sp"
            android:textColor="#000"
            />

        <CheckBox
            android:id="@+id/cb_5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="編程"
            android:layout_below="@id/cb_5"
            android:layout_marginTop="10dp"
            android:button="@drawable/bg_checkbox"
            android:paddingLeft="10dp"
            />
        <CheckBox
            android:id="@+id/cb_6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="做飯"
            android:layout_below="@id/cb_5"
            android:button="@drawable/bg_checkbox"
            android:paddingLeft="10dp"
            />
    </LinearLayout>

</RelativeLayout>

CheckBoxActivity

public class CheckBoxActivity extends AppCompatActivity {

    private CheckBox mCb5, mCb6;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_check_box);

        mCb5 = findViewById(R.id.cb_5);
        mCb6 = findViewById(R.id.cb_6);

        mCb5.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Toast.makeText(CheckBoxActivity.this, isChecked ? "5選中" : "5未選中", Toast.LENGTH_SHORT).show();
            }
        });

        mCb6.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Toast.makeText(CheckBoxActivity.this, isChecked ? "6選中" : "6未選中", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

ImageView

  • 常用屬性
  • 加載網(wǎng)絡(luò)圖片

scaleType

  • fitXY: 撐滿控件绵脯,寬高比可能發(fā)生改變
  • fitCenter: 保持寬高比縮放,直至完全顯示
  • centerCrop: 保持寬高比縮放休里,直至完全覆蓋控件蛆挫,裁剪顯示

效果圖

ImageView效果圖

代碼

activity_image_view.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15dp">

    <ImageView
        android:id="@+id/iv_1"
        android:layout_width="300dp"
        android:layout_height="150dp"
        android:background="#FF9800"
        android:src="@drawable/bg_ironman"
        android:scaleType="fitXY"
        />

    <ImageView
        android:id="@+id/iv_2"
        android:layout_width="300dp"
        android:layout_height="150dp"
        android:background="#FF9800"
        android:src="@drawable/bg_ironman"
        android:scaleType="fitCenter"
        android:layout_below="@id/iv_1"/>

    <ImageView
        android:id="@+id/iv_3"
        android:layout_width="300dp"
        android:layout_height="150dp"
        android:background="#FF9800"
        android:src="@drawable/bg_ironman"
        android:scaleType="centerCrop"
        android:layout_below="@id/iv_2"
        />

    <ImageView
        android:id="@+id/iv_4"
        android:layout_width="300dp"
        android:layout_height="150dp"
        android:background="#FF9800"
        android:scaleType="centerCrop"
        android:layout_below="@id/iv_3"
        />
</RelativeLayout>

ImageViewActivity文件

public class ImageViewActivity extends AppCompatActivity {

    private ImageView mIv4;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_image_view);

        mIv4 = findViewById(R.id.iv_4);
        Glide.with(this).load("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1603459341312&di=bc520d0ed58b8e3786e74ef3f8442985&imgtype=0&src=http%3A%2F%2Fz1.dfcfw.com%2F2020%2F10%2F14%2F20201014075848343834694.jpg").into(mIv4);
    }
}

添加第三方庫(kù)

repositories {
    google()
    jcenter()
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:2.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.github.bumptech.glide:glide:4.11.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
}

使用Sync Now后自動(dòng)導(dǎo)入圖片加載庫(kù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市妙黍,隨后出現(xiàn)的幾起案子悴侵,更是在濱河造成了極大的恐慌,老刑警劉巖拭嫁,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件可免,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡做粤,警方通過(guò)查閱死者的電腦和手機(jī)浇借,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)怕品,“玉大人妇垢,你說(shuō)我怎么就攤上這事∪饪担” “怎么了闯估?”我有些...
    開(kāi)封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)吼和。 經(jīng)常有香客問(wèn)我涨薪,道長(zhǎng),這世上最難降的妖魔是什么纹安? 我笑而不...
    開(kāi)封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任尤辱,我火速辦了婚禮砂豌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘光督。我一直安慰自己阳距,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布结借。 她就那樣靜靜地躺著筐摘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪船老。 梳的紋絲不亂的頭發(fā)上咖熟,一...
    開(kāi)封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音柳畔,去河邊找鬼馍管。 笑死,一個(gè)胖子當(dāng)著我的面吹牛薪韩,可吹牛的內(nèi)容都是我干的确沸。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼俘陷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼罗捎!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起拉盾,我...
    開(kāi)封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤桨菜,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后捉偏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體倒得,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年告私,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了屎暇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡驻粟,死狀恐怖根悼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蜀撑,我是刑警寧澤挤巡,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站酷麦,受9級(jí)特大地震影響矿卑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沃饶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一母廷、第九天 我趴在偏房一處隱蔽的房頂上張望轻黑。 院中可真熱鬧,春花似錦琴昆、人聲如沸氓鄙。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)抖拦。三九已至,卻和暖如春舷暮,著一層夾襖步出監(jiān)牢的瞬間态罪,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工下面, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留复颈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓沥割,卻偏偏與公主長(zhǎng)得像券膀,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子驯遇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345